{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Networks Using Blocks (VGG)\n",
    "\n",
    "While AlexNet proved that deep convolutional neural networks\n",
    "can achieve good results, it didn't offer a general template\n",
    "to guide subsequent researchers in designing new networks.\n",
    "In the following sections, we will introduce several heuristic concepts\n",
    "commonly used to design deep networks.\n",
    "\n",
    "Progress in this field mirrors that in chip design\n",
    "where engineers went from placing transistors\n",
    "to logical elements to logic blocks.\n",
    "Similarly, the design of neural network architectures\n",
    "had grown progressively more abstract,\n",
    "with researchers moving from thinking in terms of\n",
    "individual neurons to whole layers,\n",
    "and now to blocks, repeating patterns of layers.\n",
    "\n",
    "The idea of using blocks first emerged from the\n",
    "[Visual Geometry Group](http://www.robots.ox.ac.uk/~vgg/) (VGG)\n",
    "at Oxford University.\n",
    "In their eponymously-named VGG network,\n",
    "It's easy to implement these repeated structures in code\n",
    "with any modern deep learning framework by using loops and subroutines."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## VGG Blocks\n",
    "\n",
    "The basic building block of classic convolutional networks\n",
    "is a sequence of the following layers:\n",
    "(i) a convolutional layer\n",
    "(with padding to maintain the resolution),\n",
    "(ii) a nonlinearity such as a ReLu,\n",
    "One VGG block consists of a sequence of convolutional layers,\n",
    "followed by a max pooling layer for spatial downsampling.\n",
    "In the original VGG paper `Simonyan.Zisserman.2014`,\n",
    "the authors \n",
    "employed convolutions with $3\\times3$ kernels\n",
    "and $2 \\times 2$ max pooling with stride of $2$\n",
    "(halving the resolution after each block).\n",
    "In the code below, we define a function called `vgg_block`\n",
    "to implement one VGG block.\n",
    "The function takes two arguments\n",
    "corresponding to the number of convolutional layers `num_convs`\n",
    "and the number of output channels `num_channels`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import sys\n",
    "sys.path.insert(0,'../')\n",
    "\n",
    "import d2l\n",
    "import torch\n",
    "import torch.nn as nn\n",
    "import torch.optim as optim\n",
    "import time"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "def vgg_block(num_convs, in_channels, out_channels):\n",
    "    layers=[]\n",
    "    for _ in range(num_convs):\n",
    "        layers.append(nn.Conv2d(in_channels, out_channels, kernel_size=3, padding=1))\n",
    "        layers.append(nn.ReLU())\n",
    "        in_channels = out_channels\n",
    "    \n",
    "    layers.append(nn.MaxPool2d(kernel_size=2,stride=2))\n",
    "    \n",
    "    blk = nn.Sequential(*layers)\n",
    "    \n",
    "    return blk"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## VGG Network\n",
    "\n",
    "Like AlexNet and LeNet,\n",
    "the VGG Network can be partitioned into two parts:\n",
    "the first consisting mostly of convolutional and pooling layers\n",
    "and a second consisting of fully-connected layers.\n",
    "The convolutional portion of the net connects several `vgg_block` modules\n",
    "in succession.\n",
    "Below, the variable `conv_arch` consists of a list of tuples (one per block),\n",
    "where each contains two values: the number of convolutional layers\n",
    "and the number of output channels,\n",
    "which are precisely the arguments requires to call\n",
    "the `vgg_block` function.\n",
    "The fully-connected module is identical to that covered in AlexNet."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<svg height=\"367pt\" version=\"1.1\" viewBox=\"0 0 434 367\" width=\"434pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
       "<defs>\n",
       "<g>\n",
       "<symbol id=\"glyph0-0\" overflow=\"visible\">\n",
       "<path d=\"M 1.125 0 L 1.125 -5.625 L 5.625 -5.625 L 5.625 0 Z M 1.265625 -0.140625 L 5.484375 -0.140625 L 5.484375 -5.484375 L 1.265625 -5.484375 Z M 1.265625 -0.140625 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph0-1\" overflow=\"visible\">\n",
       "<path d=\"M 0.6875 0 L 0.6875 -6.4375 L 2.90625 -6.4375 C 3.414062 -6.4375 3.800781 -6.40625 4.0625 -6.34375 C 4.425781 -6.257812 4.738281 -6.109375 5 -5.890625 C 5.34375 -5.597656 5.597656 -5.226562 5.765625 -4.78125 C 5.929688 -4.34375 6.015625 -3.832031 6.015625 -3.25 C 6.015625 -2.757812 5.957031 -2.328125 5.84375 -1.953125 C 5.726562 -1.578125 5.582031 -1.265625 5.40625 -1.015625 C 5.226562 -0.765625 5.03125 -0.566406 4.8125 -0.421875 C 4.601562 -0.285156 4.347656 -0.179688 4.046875 -0.109375 C 3.753906 -0.0351562 3.410156 0 3.015625 0 Z M 1.546875 -0.765625 L 2.921875 -0.765625 C 3.347656 -0.765625 3.679688 -0.800781 3.921875 -0.875 C 4.160156 -0.957031 4.351562 -1.070312 4.5 -1.21875 C 4.695312 -1.414062 4.851562 -1.6875 4.96875 -2.03125 C 5.082031 -2.375 5.140625 -2.785156 5.140625 -3.265625 C 5.140625 -3.941406 5.03125 -4.457031 4.8125 -4.8125 C 4.59375 -5.175781 4.320312 -5.421875 4 -5.546875 C 3.769531 -5.640625 3.40625 -5.6875 2.90625 -5.6875 L 1.546875 -5.6875 Z M 1.546875 -0.765625 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph0-2\" overflow=\"visible\">\n",
       "<path d=\"M 3.78125 -1.5 L 4.609375 -1.40625 C 4.472656 -0.925781 4.226562 -0.550781 3.875 -0.28125 C 3.53125 -0.0195312 3.085938 0.109375 2.546875 0.109375 C 1.867188 0.109375 1.328125 -0.0976562 0.921875 -0.515625 C 0.523438 -0.941406 0.328125 -1.535156 0.328125 -2.296875 C 0.328125 -3.078125 0.53125 -3.679688 0.9375 -4.109375 C 1.34375 -4.546875 1.867188 -4.765625 2.515625 -4.765625 C 3.140625 -4.765625 3.644531 -4.550781 4.03125 -4.125 C 4.425781 -3.707031 4.625 -3.113281 4.625 -2.34375 C 4.625 -2.289062 4.625 -2.21875 4.625 -2.125 L 1.140625 -2.125 C 1.171875 -1.613281 1.316406 -1.222656 1.578125 -0.953125 C 1.835938 -0.679688 2.164062 -0.546875 2.5625 -0.546875 C 2.851562 -0.546875 3.097656 -0.617188 3.296875 -0.765625 C 3.503906 -0.921875 3.664062 -1.164062 3.78125 -1.5 Z M 1.1875 -2.78125 L 3.796875 -2.78125 C 3.765625 -3.175781 3.664062 -3.472656 3.5 -3.671875 C 3.25 -3.972656 2.921875 -4.125 2.515625 -4.125 C 2.148438 -4.125 1.84375 -4 1.59375 -3.75 C 1.351562 -3.507812 1.21875 -3.1875 1.1875 -2.78125 Z M 1.1875 -2.78125 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph0-3\" overflow=\"visible\">\n",
       "<path d=\"M 0.59375 0 L 0.59375 -4.671875 L 1.3125 -4.671875 L 1.3125 -4 C 1.644531 -4.507812 2.140625 -4.765625 2.796875 -4.765625 C 3.078125 -4.765625 3.332031 -4.710938 3.5625 -4.609375 C 3.800781 -4.515625 3.976562 -4.382812 4.09375 -4.21875 C 4.207031 -4.0625 4.289062 -3.867188 4.34375 -3.640625 C 4.375 -3.492188 4.390625 -3.238281 4.390625 -2.875 L 4.390625 0 L 3.59375 0 L 3.59375 -2.84375 C 3.59375 -3.164062 3.5625 -3.40625 3.5 -3.5625 C 3.4375 -3.71875 3.328125 -3.84375 3.171875 -3.9375 C 3.015625 -4.039062 2.832031 -4.09375 2.625 -4.09375 C 2.289062 -4.09375 2 -3.984375 1.75 -3.765625 C 1.507812 -3.554688 1.390625 -3.148438 1.390625 -2.546875 L 1.390625 0 Z M 0.59375 0 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph0-4\" overflow=\"visible\">\n",
       "<path d=\"M 0.28125 -1.390625 L 1.0625 -1.515625 C 1.101562 -1.203125 1.222656 -0.960938 1.421875 -0.796875 C 1.628906 -0.628906 1.910156 -0.546875 2.265625 -0.546875 C 2.628906 -0.546875 2.898438 -0.617188 3.078125 -0.765625 C 3.253906 -0.910156 3.34375 -1.082031 3.34375 -1.28125 C 3.34375 -1.46875 3.265625 -1.609375 3.109375 -1.703125 C 2.992188 -1.773438 2.722656 -1.867188 2.296875 -1.984375 C 1.710938 -2.128906 1.304688 -2.253906 1.078125 -2.359375 C 0.859375 -2.460938 0.691406 -2.609375 0.578125 -2.796875 C 0.460938 -2.984375 0.40625 -3.191406 0.40625 -3.421875 C 0.40625 -3.628906 0.453125 -3.820312 0.546875 -4 C 0.640625 -4.175781 0.769531 -4.328125 0.9375 -4.453125 C 1.0625 -4.535156 1.226562 -4.609375 1.4375 -4.671875 C 1.65625 -4.734375 1.882812 -4.765625 2.125 -4.765625 C 2.488281 -4.765625 2.804688 -4.710938 3.078125 -4.609375 C 3.359375 -4.503906 3.566406 -4.363281 3.703125 -4.1875 C 3.835938 -4.007812 3.929688 -3.769531 3.984375 -3.46875 L 3.203125 -3.359375 C 3.171875 -3.597656 3.066406 -3.785156 2.890625 -3.921875 C 2.722656 -4.054688 2.488281 -4.125 2.1875 -4.125 C 1.820312 -4.125 1.5625 -4.0625 1.40625 -3.9375 C 1.25 -3.820312 1.171875 -3.679688 1.171875 -3.515625 C 1.171875 -3.410156 1.203125 -3.320312 1.265625 -3.25 C 1.328125 -3.15625 1.429688 -3.082031 1.578125 -3.03125 C 1.648438 -3 1.878906 -2.929688 2.265625 -2.828125 C 2.828125 -2.679688 3.21875 -2.5625 3.4375 -2.46875 C 3.664062 -2.375 3.84375 -2.234375 3.96875 -2.046875 C 4.09375 -1.867188 4.15625 -1.644531 4.15625 -1.375 C 4.15625 -1.101562 4.078125 -0.851562 3.921875 -0.625 C 3.765625 -0.394531 3.539062 -0.210938 3.25 -0.078125 C 2.96875 0.046875 2.640625 0.109375 2.265625 0.109375 C 1.660156 0.109375 1.195312 -0.015625 0.875 -0.265625 C 0.5625 -0.523438 0.363281 -0.898438 0.28125 -1.390625 Z M 0.28125 -1.390625 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph0-5\" overflow=\"visible\">\n",
       "<path d=\"\" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph0-6\" overflow=\"visible\">\n",
       "<path d=\"M 2.109375 1.890625 C 1.671875 1.335938 1.300781 0.695312 1 -0.03125 C 0.695312 -0.769531 0.546875 -1.535156 0.546875 -2.328125 C 0.546875 -3.023438 0.660156 -3.695312 0.890625 -4.34375 C 1.148438 -5.082031 1.554688 -5.816406 2.109375 -6.546875 L 2.671875 -6.546875 C 2.316406 -5.941406 2.082031 -5.507812 1.96875 -5.25 C 1.789062 -4.84375 1.648438 -4.421875 1.546875 -3.984375 C 1.421875 -3.429688 1.359375 -2.878906 1.359375 -2.328125 C 1.359375 -0.921875 1.796875 0.484375 2.671875 1.890625 Z M 2.109375 1.890625 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph0-7\" overflow=\"visible\">\n",
       "<path d=\"M 2.90625 0 L 2.90625 -1.546875 L 0.109375 -1.546875 L 0.109375 -2.265625 L 3.046875 -6.4375 L 3.703125 -6.4375 L 3.703125 -2.265625 L 4.578125 -2.265625 L 4.578125 -1.546875 L 3.703125 -1.546875 L 3.703125 0 Z M 2.90625 -2.265625 L 2.90625 -5.171875 L 0.890625 -2.265625 Z M 2.90625 -2.265625 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph0-8\" overflow=\"visible\">\n",
       "<path d=\"M 0.375 -3.171875 C 0.375 -3.929688 0.453125 -4.546875 0.609375 -5.015625 C 0.765625 -5.484375 0.992188 -5.84375 1.296875 -6.09375 C 1.609375 -6.34375 2 -6.46875 2.46875 -6.46875 C 2.820312 -6.46875 3.128906 -6.394531 3.390625 -6.25 C 3.648438 -6.113281 3.863281 -5.914062 4.03125 -5.65625 C 4.195312 -5.394531 4.328125 -5.078125 4.421875 -4.703125 C 4.523438 -4.328125 4.578125 -3.816406 4.578125 -3.171875 C 4.578125 -2.421875 4.5 -1.8125 4.34375 -1.34375 C 4.1875 -0.882812 3.953125 -0.523438 3.640625 -0.265625 C 3.335938 -0.015625 2.945312 0.109375 2.46875 0.109375 C 1.851562 0.109375 1.367188 -0.113281 1.015625 -0.5625 C 0.585938 -1.09375 0.375 -1.960938 0.375 -3.171875 Z M 1.1875 -3.171875 C 1.1875 -2.117188 1.304688 -1.414062 1.546875 -1.0625 C 1.796875 -0.71875 2.101562 -0.546875 2.46875 -0.546875 C 2.832031 -0.546875 3.140625 -0.71875 3.390625 -1.0625 C 3.640625 -1.414062 3.765625 -2.117188 3.765625 -3.171875 C 3.765625 -4.234375 3.640625 -4.9375 3.390625 -5.28125 C 3.140625 -5.632812 2.832031 -5.8125 2.46875 -5.8125 C 2.101562 -5.8125 1.8125 -5.660156 1.59375 -5.359375 C 1.320312 -4.960938 1.1875 -4.234375 1.1875 -3.171875 Z M 1.1875 -3.171875 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph0-9\" overflow=\"visible\">\n",
       "<path d=\"M 0.5 -1.484375 L 1.25 -1.5625 C 1.3125 -1.207031 1.429688 -0.945312 1.609375 -0.78125 C 1.796875 -0.625 2.035156 -0.546875 2.328125 -0.546875 C 2.566406 -0.546875 2.773438 -0.597656 2.953125 -0.703125 C 3.140625 -0.816406 3.289062 -0.96875 3.40625 -1.15625 C 3.53125 -1.34375 3.628906 -1.59375 3.703125 -1.90625 C 3.785156 -2.21875 3.828125 -2.539062 3.828125 -2.875 C 3.828125 -2.90625 3.820312 -2.957031 3.8125 -3.03125 C 3.65625 -2.78125 3.441406 -2.578125 3.171875 -2.421875 C 2.898438 -2.265625 2.601562 -2.1875 2.28125 -2.1875 C 1.75 -2.1875 1.296875 -2.378906 0.921875 -2.765625 C 0.554688 -3.148438 0.375 -3.660156 0.375 -4.296875 C 0.375 -4.953125 0.566406 -5.476562 0.953125 -5.875 C 1.335938 -6.269531 1.820312 -6.46875 2.40625 -6.46875 C 2.820312 -6.46875 3.203125 -6.351562 3.546875 -6.125 C 3.890625 -5.90625 4.148438 -5.585938 4.328125 -5.171875 C 4.515625 -4.753906 4.609375 -4.148438 4.609375 -3.359375 C 4.609375 -2.535156 4.519531 -1.878906 4.34375 -1.390625 C 4.164062 -0.898438 3.898438 -0.523438 3.546875 -0.265625 C 3.191406 -0.015625 2.773438 0.109375 2.296875 0.109375 C 1.796875 0.109375 1.382812 -0.03125 1.0625 -0.3125 C 0.75 -0.59375 0.5625 -0.984375 0.5 -1.484375 Z M 3.734375 -4.328125 C 3.734375 -4.785156 3.609375 -5.144531 3.359375 -5.40625 C 3.117188 -5.675781 2.832031 -5.8125 2.5 -5.8125 C 2.144531 -5.8125 1.835938 -5.664062 1.578125 -5.375 C 1.316406 -5.09375 1.1875 -4.722656 1.1875 -4.265625 C 1.1875 -3.859375 1.304688 -3.523438 1.546875 -3.265625 C 1.796875 -3.015625 2.101562 -2.890625 2.46875 -2.890625 C 2.84375 -2.890625 3.144531 -3.015625 3.375 -3.265625 C 3.613281 -3.523438 3.734375 -3.878906 3.734375 -4.328125 Z M 3.734375 -4.328125 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph0-10\" overflow=\"visible\">\n",
       "<path d=\"M 4.484375 -4.859375 L 3.6875 -4.796875 C 3.625 -5.109375 3.523438 -5.335938 3.390625 -5.484375 C 3.179688 -5.703125 2.921875 -5.8125 2.609375 -5.8125 C 2.347656 -5.8125 2.125 -5.742188 1.9375 -5.609375 C 1.6875 -5.421875 1.488281 -5.15625 1.34375 -4.8125 C 1.207031 -4.46875 1.132812 -3.972656 1.125 -3.328125 C 1.3125 -3.609375 1.539062 -3.816406 1.8125 -3.953125 C 2.09375 -4.097656 2.382812 -4.171875 2.6875 -4.171875 C 3.21875 -4.171875 3.664062 -3.976562 4.03125 -3.59375 C 4.40625 -3.207031 4.59375 -2.707031 4.59375 -2.09375 C 4.59375 -1.6875 4.503906 -1.304688 4.328125 -0.953125 C 4.148438 -0.609375 3.910156 -0.34375 3.609375 -0.15625 C 3.304688 0.0195312 2.960938 0.109375 2.578125 0.109375 C 1.921875 0.109375 1.382812 -0.128906 0.96875 -0.609375 C 0.550781 -1.097656 0.34375 -1.898438 0.34375 -3.015625 C 0.34375 -4.253906 0.570312 -5.160156 1.03125 -5.734375 C 1.425781 -6.222656 1.96875 -6.46875 2.65625 -6.46875 C 3.15625 -6.46875 3.566406 -6.320312 3.890625 -6.03125 C 4.210938 -5.75 4.410156 -5.359375 4.484375 -4.859375 Z M 1.25 -2.09375 C 1.25 -1.8125 1.304688 -1.546875 1.421875 -1.296875 C 1.535156 -1.054688 1.695312 -0.867188 1.90625 -0.734375 C 2.113281 -0.609375 2.332031 -0.546875 2.5625 -0.546875 C 2.894531 -0.546875 3.179688 -0.675781 3.421875 -0.9375 C 3.660156 -1.207031 3.78125 -1.578125 3.78125 -2.046875 C 3.78125 -2.492188 3.660156 -2.84375 3.421875 -3.09375 C 3.191406 -3.351562 2.894531 -3.484375 2.53125 -3.484375 C 2.175781 -3.484375 1.875 -3.351562 1.625 -3.09375 C 1.375 -2.84375 1.25 -2.507812 1.25 -2.09375 Z M 1.25 -2.09375 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph0-11\" overflow=\"visible\">\n",
       "<path d=\"M 1.109375 1.890625 L 0.546875 1.890625 C 1.421875 0.484375 1.859375 -0.921875 1.859375 -2.328125 C 1.859375 -2.878906 1.796875 -3.425781 1.671875 -3.96875 C 1.566406 -4.40625 1.425781 -4.828125 1.25 -5.234375 C 1.132812 -5.492188 0.898438 -5.929688 0.546875 -6.546875 L 1.109375 -6.546875 C 1.660156 -5.816406 2.066406 -5.082031 2.328125 -4.34375 C 2.554688 -3.695312 2.671875 -3.023438 2.671875 -2.328125 C 2.671875 -1.535156 2.519531 -0.769531 2.21875 -0.03125 C 1.914062 0.695312 1.546875 1.335938 1.109375 1.890625 Z M 1.109375 1.890625 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph0-12\" overflow=\"visible\">\n",
       "<path d=\"M 3.359375 0 L 2.5625 0 L 2.5625 -5.046875 C 2.375 -4.859375 2.125 -4.671875 1.8125 -4.484375 C 1.5 -4.304688 1.222656 -4.175781 0.984375 -4.09375 L 0.984375 -4.859375 C 1.421875 -5.054688 1.804688 -5.300781 2.140625 -5.59375 C 2.472656 -5.894531 2.707031 -6.1875 2.84375 -6.46875 L 3.359375 -6.46875 Z M 3.359375 0 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph0-13\" overflow=\"visible\">\n",
       "<path d=\"M -0.015625 0 L 2.46875 -6.4375 L 3.375 -6.4375 L 6.015625 0 L 5.046875 0 L 4.296875 -1.953125 L 1.59375 -1.953125 L 0.890625 0 Z M 1.84375 -2.640625 L 4.03125 -2.640625 L 3.359375 -4.4375 C 3.148438 -4.976562 3 -5.421875 2.90625 -5.765625 C 2.820312 -5.347656 2.703125 -4.9375 2.546875 -4.53125 Z M 1.84375 -2.640625 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph0-14\" overflow=\"visible\">\n",
       "<path d=\"M 0.578125 0 L 0.578125 -6.4375 L 1.359375 -6.4375 L 1.359375 0 Z M 0.578125 0 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph0-15\" overflow=\"visible\">\n",
       "<path d=\"M 0.0625 0 L 1.765625 -2.421875 L 0.1875 -4.671875 L 1.1875 -4.671875 L 1.90625 -3.578125 C 2.03125 -3.367188 2.132812 -3.191406 2.21875 -3.046875 C 2.351562 -3.242188 2.472656 -3.414062 2.578125 -3.5625 L 3.359375 -4.671875 L 4.3125 -4.671875 L 2.703125 -2.46875 L 4.4375 0 L 3.46875 0 L 2.5 -1.453125 L 2.25 -1.84375 L 1.03125 0 Z M 0.0625 0 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph0-16\" overflow=\"visible\">\n",
       "<path d=\"M 0.6875 0 L 0.6875 -6.4375 L 1.5625 -6.4375 L 4.9375 -1.390625 L 4.9375 -6.4375 L 5.765625 -6.4375 L 5.765625 0 L 4.890625 0 L 1.5 -5.0625 L 1.5 0 Z M 0.6875 0 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph0-17\" overflow=\"visible\">\n",
       "<path d=\"M 2.328125 -0.703125 L 2.4375 -0.015625 C 2.207031 0.0351562 2.007812 0.0625 1.84375 0.0625 C 1.550781 0.0625 1.328125 0.015625 1.171875 -0.078125 C 1.015625 -0.171875 0.898438 -0.289062 0.828125 -0.4375 C 0.765625 -0.582031 0.734375 -0.890625 0.734375 -1.359375 L 0.734375 -4.046875 L 0.15625 -4.046875 L 0.15625 -4.671875 L 0.734375 -4.671875 L 0.734375 -5.828125 L 1.53125 -6.296875 L 1.53125 -4.671875 L 2.328125 -4.671875 L 2.328125 -4.046875 L 1.53125 -4.046875 L 1.53125 -1.328125 C 1.53125 -1.097656 1.539062 -0.953125 1.5625 -0.890625 C 1.59375 -0.828125 1.640625 -0.773438 1.703125 -0.734375 C 1.765625 -0.691406 1.851562 -0.671875 1.96875 -0.671875 C 2.0625 -0.671875 2.179688 -0.679688 2.328125 -0.703125 Z M 2.328125 -0.703125 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph0-18\" overflow=\"visible\">\n",
       "<path d=\"M 2.53125 0 L 0.046875 -6.4375 L 0.96875 -6.4375 L 2.640625 -1.765625 C 2.773438 -1.390625 2.882812 -1.035156 2.96875 -0.703125 C 3.070312 -1.054688 3.191406 -1.410156 3.328125 -1.765625 L 5.0625 -6.4375 L 5.9375 -6.4375 L 3.40625 0 Z M 2.53125 0 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph0-19\" overflow=\"visible\">\n",
       "<path d=\"M 3.703125 -2.53125 L 3.703125 -3.28125 L 6.4375 -3.28125 L 6.4375 -0.890625 C 6.019531 -0.554688 5.585938 -0.304688 5.140625 -0.140625 C 4.691406 0.0234375 4.234375 0.109375 3.765625 0.109375 C 3.140625 0.109375 2.566406 -0.0234375 2.046875 -0.296875 C 1.523438 -0.566406 1.132812 -0.957031 0.875 -1.46875 C 0.613281 -1.976562 0.484375 -2.550781 0.484375 -3.1875 C 0.484375 -3.8125 0.613281 -4.394531 0.875 -4.9375 C 1.132812 -5.488281 1.507812 -5.894531 2 -6.15625 C 2.5 -6.414062 3.066406 -6.546875 3.703125 -6.546875 C 4.171875 -6.546875 4.59375 -6.46875 4.96875 -6.3125 C 5.34375 -6.164062 5.632812 -5.957031 5.84375 -5.6875 C 6.0625 -5.425781 6.226562 -5.078125 6.34375 -4.640625 L 5.578125 -4.4375 C 5.472656 -4.757812 5.347656 -5.015625 5.203125 -5.203125 C 5.066406 -5.390625 4.863281 -5.539062 4.59375 -5.65625 C 4.332031 -5.769531 4.035156 -5.828125 3.703125 -5.828125 C 3.316406 -5.828125 2.976562 -5.765625 2.6875 -5.640625 C 2.40625 -5.523438 2.175781 -5.367188 2 -5.171875 C 1.832031 -4.984375 1.703125 -4.773438 1.609375 -4.546875 C 1.441406 -4.140625 1.359375 -3.707031 1.359375 -3.25 C 1.359375 -2.664062 1.457031 -2.179688 1.65625 -1.796875 C 1.851562 -1.410156 2.140625 -1.125 2.515625 -0.9375 C 2.890625 -0.75 3.289062 -0.65625 3.71875 -0.65625 C 4.09375 -0.65625 4.453125 -0.722656 4.796875 -0.859375 C 5.148438 -1.003906 5.421875 -1.160156 5.609375 -1.328125 L 5.609375 -2.53125 Z M 3.703125 -2.53125 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph0-20\" overflow=\"visible\">\n",
       "<path d=\"M 1.328125 0 L 0.59375 0 L 0.59375 -6.4375 L 1.375 -6.4375 L 1.375 -4.140625 C 1.707031 -4.554688 2.132812 -4.765625 2.65625 -4.765625 C 2.945312 -4.765625 3.21875 -4.707031 3.46875 -4.59375 C 3.726562 -4.476562 3.941406 -4.316406 4.109375 -4.109375 C 4.273438 -3.898438 4.40625 -3.644531 4.5 -3.34375 C 4.59375 -3.050781 4.640625 -2.738281 4.640625 -2.40625 C 4.640625 -1.601562 4.441406 -0.984375 4.046875 -0.546875 C 3.648438 -0.109375 3.175781 0.109375 2.625 0.109375 C 2.070312 0.109375 1.640625 -0.117188 1.328125 -0.578125 Z M 1.3125 -2.375 C 1.3125 -1.8125 1.390625 -1.40625 1.546875 -1.15625 C 1.796875 -0.75 2.128906 -0.546875 2.546875 -0.546875 C 2.898438 -0.546875 3.203125 -0.695312 3.453125 -1 C 3.703125 -1.300781 3.828125 -1.75 3.828125 -2.34375 C 3.828125 -2.945312 3.707031 -3.394531 3.46875 -3.6875 C 3.226562 -3.976562 2.9375 -4.125 2.59375 -4.125 C 2.238281 -4.125 1.9375 -3.972656 1.6875 -3.671875 C 1.4375 -3.367188 1.3125 -2.9375 1.3125 -2.375 Z M 1.3125 -2.375 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph0-21\" overflow=\"visible\">\n",
       "<path d=\"M 0.296875 -2.328125 C 0.296875 -3.191406 0.535156 -3.832031 1.015625 -4.25 C 1.421875 -4.59375 1.910156 -4.765625 2.484375 -4.765625 C 3.128906 -4.765625 3.65625 -4.554688 4.0625 -4.140625 C 4.46875 -3.722656 4.671875 -3.144531 4.671875 -2.40625 C 4.671875 -1.800781 4.578125 -1.328125 4.390625 -0.984375 C 4.210938 -0.640625 3.953125 -0.367188 3.609375 -0.171875 C 3.265625 0.015625 2.890625 0.109375 2.484375 0.109375 C 1.828125 0.109375 1.296875 -0.0976562 0.890625 -0.515625 C 0.492188 -0.941406 0.296875 -1.546875 0.296875 -2.328125 Z M 1.109375 -2.328125 C 1.109375 -1.734375 1.238281 -1.285156 1.5 -0.984375 C 1.757812 -0.691406 2.085938 -0.546875 2.484375 -0.546875 C 2.878906 -0.546875 3.207031 -0.691406 3.46875 -0.984375 C 3.726562 -1.285156 3.859375 -1.742188 3.859375 -2.359375 C 3.859375 -2.929688 3.726562 -3.367188 3.46875 -3.671875 C 3.207031 -3.972656 2.878906 -4.125 2.484375 -4.125 C 2.085938 -4.125 1.757812 -3.972656 1.5 -3.671875 C 1.238281 -3.378906 1.109375 -2.929688 1.109375 -2.328125 Z M 1.109375 -2.328125 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph0-22\" overflow=\"visible\">\n",
       "<path d=\"M 3.640625 -1.703125 L 4.421875 -1.609375 C 4.335938 -1.066406 4.117188 -0.644531 3.765625 -0.34375 C 3.410156 -0.0390625 2.976562 0.109375 2.46875 0.109375 C 1.832031 0.109375 1.320312 -0.0976562 0.9375 -0.515625 C 0.550781 -0.929688 0.359375 -1.53125 0.359375 -2.3125 C 0.359375 -2.820312 0.441406 -3.265625 0.609375 -3.640625 C 0.773438 -4.015625 1.023438 -4.296875 1.359375 -4.484375 C 1.703125 -4.671875 2.078125 -4.765625 2.484375 -4.765625 C 2.984375 -4.765625 3.394531 -4.632812 3.71875 -4.375 C 4.039062 -4.125 4.25 -3.765625 4.34375 -3.296875 L 3.578125 -3.171875 C 3.503906 -3.484375 3.375 -3.71875 3.1875 -3.875 C 3 -4.039062 2.773438 -4.125 2.515625 -4.125 C 2.109375 -4.125 1.78125 -3.976562 1.53125 -3.6875 C 1.289062 -3.40625 1.171875 -2.957031 1.171875 -2.34375 C 1.171875 -1.707031 1.289062 -1.25 1.53125 -0.96875 C 1.769531 -0.6875 2.082031 -0.546875 2.46875 -0.546875 C 2.78125 -0.546875 3.039062 -0.640625 3.25 -0.828125 C 3.457031 -1.015625 3.585938 -1.304688 3.640625 -1.703125 Z M 3.640625 -1.703125 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph0-23\" overflow=\"visible\">\n",
       "<path d=\"M 0.59375 0 L 0.59375 -6.4375 L 1.390625 -6.4375 L 1.390625 -2.765625 L 3.265625 -4.671875 L 4.28125 -4.671875 L 2.5 -2.9375 L 4.46875 0 L 3.484375 0 L 1.953125 -2.390625 L 1.390625 -1.84375 L 1.390625 0 Z M 0.59375 0 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph0-24\" overflow=\"visible\">\n",
       "<path d=\"M 1.046875 0 L 1.046875 -0.90625 L 1.953125 -0.90625 L 1.953125 0 Z M 4.046875 0 L 4.046875 -0.90625 L 4.953125 -0.90625 L 4.953125 0 Z M 7.046875 0 L 7.046875 -0.90625 L 7.953125 -0.90625 L 7.953125 0 Z M 7.046875 0 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph0-25\" overflow=\"visible\">\n",
       "<path d=\"M 0.375 -1.703125 L 1.171875 -1.8125 C 1.265625 -1.363281 1.414062 -1.039062 1.625 -0.84375 C 1.84375 -0.644531 2.113281 -0.546875 2.4375 -0.546875 C 2.800781 -0.546875 3.109375 -0.671875 3.359375 -0.921875 C 3.617188 -1.179688 3.75 -1.503906 3.75 -1.890625 C 3.75 -2.253906 3.628906 -2.550781 3.390625 -2.78125 C 3.160156 -3.019531 2.863281 -3.140625 2.5 -3.140625 C 2.34375 -3.140625 2.15625 -3.109375 1.9375 -3.046875 L 2.03125 -3.75 C 2.082031 -3.738281 2.125 -3.734375 2.15625 -3.734375 C 2.488281 -3.734375 2.789062 -3.820312 3.0625 -4 C 3.332031 -4.175781 3.46875 -4.445312 3.46875 -4.8125 C 3.46875 -5.101562 3.367188 -5.34375 3.171875 -5.53125 C 2.972656 -5.71875 2.71875 -5.8125 2.40625 -5.8125 C 2.101562 -5.8125 1.847656 -5.710938 1.640625 -5.515625 C 1.441406 -5.328125 1.3125 -5.039062 1.25 -4.65625 L 0.453125 -4.796875 C 0.554688 -5.328125 0.773438 -5.738281 1.109375 -6.03125 C 1.453125 -6.320312 1.878906 -6.46875 2.390625 -6.46875 C 2.742188 -6.46875 3.066406 -6.390625 3.359375 -6.234375 C 3.660156 -6.085938 3.890625 -5.882812 4.046875 -5.625 C 4.203125 -5.363281 4.28125 -5.085938 4.28125 -4.796875 C 4.28125 -4.515625 4.203125 -4.257812 4.046875 -4.03125 C 3.898438 -3.800781 3.679688 -3.617188 3.390625 -3.484375 C 3.773438 -3.398438 4.070312 -3.21875 4.28125 -2.9375 C 4.488281 -2.664062 4.59375 -2.320312 4.59375 -1.90625 C 4.59375 -1.34375 4.382812 -0.863281 3.96875 -0.46875 C 3.5625 -0.0820312 3.046875 0.109375 2.421875 0.109375 C 1.859375 0.109375 1.390625 -0.0546875 1.015625 -0.390625 C 0.640625 -0.722656 0.425781 -1.160156 0.375 -1.703125 Z M 0.375 -1.703125 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph0-26\" overflow=\"visible\">\n",
       "<path d=\"M 5.296875 -2.265625 L 6.140625 -2.046875 C 5.960938 -1.347656 5.640625 -0.8125 5.171875 -0.4375 C 4.710938 -0.0703125 4.144531 0.109375 3.46875 0.109375 C 2.78125 0.109375 2.21875 -0.03125 1.78125 -0.3125 C 1.34375 -0.59375 1.007812 -1 0.78125 -1.53125 C 0.5625 -2.070312 0.453125 -2.648438 0.453125 -3.265625 C 0.453125 -3.941406 0.578125 -4.53125 0.828125 -5.03125 C 1.085938 -5.53125 1.453125 -5.90625 1.921875 -6.15625 C 2.398438 -6.414062 2.921875 -6.546875 3.484375 -6.546875 C 4.128906 -6.546875 4.671875 -6.378906 5.109375 -6.046875 C 5.554688 -5.722656 5.863281 -5.265625 6.03125 -4.671875 L 5.1875 -4.484375 C 5.039062 -4.953125 4.828125 -5.289062 4.546875 -5.5 C 4.265625 -5.71875 3.90625 -5.828125 3.46875 -5.828125 C 2.976562 -5.828125 2.566406 -5.707031 2.234375 -5.46875 C 1.898438 -5.226562 1.664062 -4.90625 1.53125 -4.5 C 1.394531 -4.101562 1.328125 -3.695312 1.328125 -3.28125 C 1.328125 -2.726562 1.40625 -2.242188 1.5625 -1.828125 C 1.726562 -1.421875 1.976562 -1.117188 2.3125 -0.921875 C 2.644531 -0.722656 3.007812 -0.625 3.40625 -0.625 C 3.882812 -0.625 4.285156 -0.757812 4.609375 -1.03125 C 4.941406 -1.3125 5.171875 -1.722656 5.296875 -2.265625 Z M 5.296875 -2.265625 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph0-27\" overflow=\"visible\">\n",
       "<path d=\"M 1.890625 0 L 0.109375 -4.671875 L 0.953125 -4.671875 L 1.953125 -1.875 C 2.054688 -1.570312 2.15625 -1.257812 2.25 -0.9375 C 2.320312 -1.175781 2.421875 -1.46875 2.546875 -1.8125 L 3.578125 -4.671875 L 4.390625 -4.671875 L 2.625 0 Z M 1.890625 0 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph0-28\" overflow=\"visible\">\n",
       "<path d=\"M 0.796875 0 L 0.796875 -0.90625 L 1.703125 -0.90625 L 1.703125 0 C 1.703125 0.332031 1.640625 0.597656 1.515625 0.796875 C 1.398438 1.003906 1.21875 1.164062 0.96875 1.28125 L 0.75 0.9375 C 0.914062 0.863281 1.035156 0.753906 1.109375 0.609375 C 1.191406 0.472656 1.238281 0.269531 1.25 0 Z M 0.796875 0 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph0-29\" overflow=\"visible\">\n",
       "<path d=\"M 0.59375 1.78125 L 0.59375 -4.671875 L 1.3125 -4.671875 L 1.3125 -4.0625 C 1.476562 -4.300781 1.664062 -4.476562 1.875 -4.59375 C 2.09375 -4.707031 2.359375 -4.765625 2.671875 -4.765625 C 3.066406 -4.765625 3.414062 -4.660156 3.71875 -4.453125 C 4.019531 -4.253906 4.25 -3.96875 4.40625 -3.59375 C 4.5625 -3.21875 4.640625 -2.8125 4.640625 -2.375 C 4.640625 -1.894531 4.550781 -1.460938 4.375 -1.078125 C 4.207031 -0.691406 3.960938 -0.394531 3.640625 -0.1875 C 3.316406 0.0078125 2.972656 0.109375 2.609375 0.109375 C 2.347656 0.109375 2.113281 0.0507812 1.90625 -0.0625 C 1.695312 -0.175781 1.523438 -0.316406 1.390625 -0.484375 L 1.390625 1.78125 Z M 1.3125 -2.3125 C 1.3125 -1.707031 1.429688 -1.257812 1.671875 -0.96875 C 1.921875 -0.6875 2.21875 -0.546875 2.5625 -0.546875 C 2.90625 -0.546875 3.203125 -0.691406 3.453125 -0.984375 C 3.710938 -1.285156 3.84375 -1.75 3.84375 -2.375 C 3.84375 -2.96875 3.71875 -3.410156 3.46875 -3.703125 C 3.226562 -4.003906 2.9375 -4.15625 2.59375 -4.15625 C 2.257812 -4.15625 1.960938 -3.992188 1.703125 -3.671875 C 1.441406 -3.359375 1.3125 -2.90625 1.3125 -2.3125 Z M 1.3125 -2.3125 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph0-30\" overflow=\"visible\">\n",
       "<path d=\"M 3.640625 -0.578125 C 3.347656 -0.328125 3.066406 -0.148438 2.796875 -0.046875 C 2.523438 0.0546875 2.234375 0.109375 1.921875 0.109375 C 1.410156 0.109375 1.015625 -0.015625 0.734375 -0.265625 C 0.460938 -0.515625 0.328125 -0.835938 0.328125 -1.234375 C 0.328125 -1.460938 0.378906 -1.671875 0.484375 -1.859375 C 0.585938 -2.046875 0.722656 -2.195312 0.890625 -2.3125 C 1.054688 -2.425781 1.242188 -2.515625 1.453125 -2.578125 C 1.609375 -2.609375 1.84375 -2.644531 2.15625 -2.6875 C 2.800781 -2.757812 3.273438 -2.851562 3.578125 -2.96875 C 3.578125 -3.070312 3.578125 -3.140625 3.578125 -3.171875 C 3.578125 -3.492188 3.503906 -3.71875 3.359375 -3.84375 C 3.148438 -4.03125 2.847656 -4.125 2.453125 -4.125 C 2.078125 -4.125 1.800781 -4.054688 1.625 -3.921875 C 1.445312 -3.796875 1.316406 -3.566406 1.234375 -3.234375 L 0.46875 -3.328125 C 0.53125 -3.660156 0.640625 -3.925781 0.796875 -4.125 C 0.960938 -4.332031 1.195312 -4.488281 1.5 -4.59375 C 1.8125 -4.707031 2.164062 -4.765625 2.5625 -4.765625 C 2.96875 -4.765625 3.289062 -4.71875 3.53125 -4.625 C 3.78125 -4.53125 3.960938 -4.410156 4.078125 -4.265625 C 4.203125 -4.128906 4.285156 -3.953125 4.328125 -3.734375 C 4.359375 -3.597656 4.375 -3.359375 4.375 -3.015625 L 4.375 -1.953125 C 4.375 -1.222656 4.390625 -0.757812 4.421875 -0.5625 C 4.453125 -0.363281 4.519531 -0.175781 4.625 0 L 3.796875 0 C 3.710938 -0.164062 3.660156 -0.359375 3.640625 -0.578125 Z M 3.578125 -2.34375 C 3.285156 -2.226562 2.851562 -2.128906 2.28125 -2.046875 C 1.957031 -1.992188 1.726562 -1.9375 1.59375 -1.875 C 1.457031 -1.820312 1.351562 -1.738281 1.28125 -1.625 C 1.207031 -1.507812 1.171875 -1.382812 1.171875 -1.25 C 1.171875 -1.039062 1.25 -0.863281 1.40625 -0.71875 C 1.5625 -0.582031 1.796875 -0.515625 2.109375 -0.515625 C 2.410156 -0.515625 2.679688 -0.582031 2.921875 -0.71875 C 3.160156 -0.851562 3.335938 -1.035156 3.453125 -1.265625 C 3.535156 -1.441406 3.578125 -1.703125 3.578125 -2.046875 Z M 3.578125 -2.34375 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph0-31\" overflow=\"visible\">\n",
       "<path d=\"M 3.625 0 L 3.625 -0.59375 C 3.320312 -0.125 2.882812 0.109375 2.3125 0.109375 C 1.945312 0.109375 1.609375 0.00390625 1.296875 -0.203125 C 0.984375 -0.410156 0.738281 -0.695312 0.5625 -1.0625 C 0.394531 -1.425781 0.3125 -1.847656 0.3125 -2.328125 C 0.3125 -2.796875 0.390625 -3.21875 0.546875 -3.59375 C 0.703125 -3.976562 0.929688 -4.269531 1.234375 -4.46875 C 1.546875 -4.664062 1.894531 -4.765625 2.28125 -4.765625 C 2.5625 -4.765625 2.8125 -4.707031 3.03125 -4.59375 C 3.25 -4.476562 3.425781 -4.320312 3.5625 -4.125 L 3.5625 -6.4375 L 4.359375 -6.4375 L 4.359375 0 Z M 1.125 -2.328125 C 1.125 -1.734375 1.25 -1.285156 1.5 -0.984375 C 1.75 -0.691406 2.046875 -0.546875 2.390625 -0.546875 C 2.734375 -0.546875 3.023438 -0.6875 3.265625 -0.96875 C 3.515625 -1.25 3.640625 -1.679688 3.640625 -2.265625 C 3.640625 -2.898438 3.515625 -3.367188 3.265625 -3.671875 C 3.015625 -3.972656 2.710938 -4.125 2.359375 -4.125 C 2.003906 -4.125 1.707031 -3.976562 1.46875 -3.6875 C 1.238281 -3.394531 1.125 -2.941406 1.125 -2.328125 Z M 1.125 -2.328125 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph0-32\" overflow=\"visible\">\n",
       "<path d=\"M 0.671875 0 L 0.671875 -6.4375 L 1.953125 -6.4375 L 3.46875 -1.875 C 3.613281 -1.457031 3.71875 -1.140625 3.78125 -0.921875 C 3.851562 -1.160156 3.96875 -1.503906 4.125 -1.953125 L 5.671875 -6.4375 L 6.8125 -6.4375 L 6.8125 0 L 6 0 L 6 -5.390625 L 4.125 0 L 3.359375 0 L 1.484375 -5.484375 L 1.484375 0 Z M 0.671875 0 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph0-33\" overflow=\"visible\">\n",
       "<path d=\"M 0.6875 0 L 0.6875 -6.4375 L 3.125 -6.4375 C 3.550781 -6.4375 3.878906 -6.414062 4.109375 -6.375 C 4.421875 -6.320312 4.679688 -6.222656 4.890625 -6.078125 C 5.109375 -5.929688 5.28125 -5.722656 5.40625 -5.453125 C 5.539062 -5.191406 5.609375 -4.898438 5.609375 -4.578125 C 5.609375 -4.023438 5.429688 -3.5625 5.078125 -3.1875 C 4.734375 -2.8125 4.109375 -2.625 3.203125 -2.625 L 1.546875 -2.625 L 1.546875 0 Z M 1.546875 -3.375 L 3.21875 -3.375 C 3.757812 -3.375 4.144531 -3.476562 4.375 -3.6875 C 4.613281 -3.894531 4.734375 -4.179688 4.734375 -4.546875 C 4.734375 -4.816406 4.664062 -5.046875 4.53125 -5.234375 C 4.394531 -5.429688 4.210938 -5.5625 3.984375 -5.625 C 3.847656 -5.664062 3.582031 -5.6875 3.1875 -5.6875 L 1.546875 -5.6875 Z M 1.546875 -3.375 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph0-34\" overflow=\"visible\">\n",
       "<path d=\"M 0.578125 0 L 0.578125 -4.671875 L 1.296875 -4.671875 L 1.296875 -3.953125 C 1.472656 -4.285156 1.640625 -4.503906 1.796875 -4.609375 C 1.953125 -4.710938 2.125 -4.765625 2.3125 -4.765625 C 2.570312 -4.765625 2.84375 -4.679688 3.125 -4.515625 L 2.84375 -3.78125 C 2.65625 -3.894531 2.460938 -3.953125 2.265625 -3.953125 C 2.097656 -3.953125 1.941406 -3.898438 1.796875 -3.796875 C 1.660156 -3.691406 1.5625 -3.546875 1.5 -3.359375 C 1.414062 -3.078125 1.375 -2.769531 1.375 -2.4375 L 1.375 0 Z M 0.578125 0 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph0-35\" overflow=\"visible\">\n",
       "<path d=\"M 0.59375 -5.53125 L 0.59375 -6.4375 L 1.390625 -6.4375 L 1.390625 -5.53125 Z M 0.59375 0 L 0.59375 -4.671875 L 1.390625 -4.671875 L 1.390625 0 Z M 0.59375 0 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph0-36\" overflow=\"visible\">\n",
       "<path d=\"M 4.53125 -0.765625 L 4.53125 0 L 0.265625 0 C 0.265625 -0.1875 0.296875 -0.367188 0.359375 -0.546875 C 0.472656 -0.835938 0.648438 -1.125 0.890625 -1.40625 C 1.128906 -1.6875 1.472656 -2.007812 1.921875 -2.375 C 2.617188 -2.957031 3.085938 -3.414062 3.328125 -3.75 C 3.578125 -4.082031 3.703125 -4.398438 3.703125 -4.703125 C 3.703125 -5.015625 3.585938 -5.273438 3.359375 -5.484375 C 3.140625 -5.703125 2.851562 -5.8125 2.5 -5.8125 C 2.113281 -5.8125 1.804688 -5.695312 1.578125 -5.46875 C 1.347656 -5.238281 1.234375 -4.921875 1.234375 -4.515625 L 0.421875 -4.609375 C 0.472656 -5.210938 0.679688 -5.671875 1.046875 -5.984375 C 1.410156 -6.304688 1.898438 -6.46875 2.515625 -6.46875 C 3.128906 -6.46875 3.613281 -6.296875 3.96875 -5.953125 C 4.332031 -5.609375 4.515625 -5.1875 4.515625 -4.6875 C 4.515625 -4.425781 4.460938 -4.171875 4.359375 -3.921875 C 4.253906 -3.671875 4.078125 -3.40625 3.828125 -3.125 C 3.585938 -2.851562 3.1875 -2.476562 2.625 -2 C 2.144531 -1.601562 1.835938 -1.332031 1.703125 -1.1875 C 1.566406 -1.039062 1.457031 -0.898438 1.375 -0.765625 Z M 4.53125 -0.765625 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph1-0\" overflow=\"visible\">\n",
       "<path d=\"\" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph1-1\" overflow=\"visible\">\n",
       "<path d=\"M 2.0625 -6.421875 C 1.859375 -6.1875 1.609375 -5.96875 1.296875 -5.765625 C 0.984375 -5.59375 0.6875 -5.46875 0.390625 -5.375 L 0.390625 -4.640625 C 1 -4.828125 1.5 -5.109375 1.90625 -5.53125 L 1.90625 0 L 2.640625 0 L 2.640625 -6.421875 Z M 2.0625 -6.421875 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph1-2\" overflow=\"visible\">\n",
       "<path d=\"M 0.25 -4.65625 L 1.890625 -2.46875 L 0.046875 0 L 0.90625 0 L 2.296875 -1.9375 L 3.6875 0 L 4.53125 0 L 2.6875 -2.46875 L 4.34375 -4.65625 L 3.484375 -4.65625 L 2.296875 -3 L 1.09375 -4.65625 Z M 0.25 -4.65625 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph1-3\" overflow=\"visible\">\n",
       "<path d=\"\" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph1-4\" overflow=\"visible\">\n",
       "<path d=\"M 3.421875 -6.546875 C 2.4375 -6.546875 1.65625 -6.21875 1.109375 -5.53125 C 0.625 -4.921875 0.375 -4.140625 0.375 -3.1875 C 0.375 -2.234375 0.609375 -1.453125 1.09375 -0.859375 C 1.625 -0.203125 2.390625 0.125 3.390625 0.125 C 4.078125 0.125 4.671875 -0.078125 5.171875 -0.453125 C 5.703125 -0.875 6.03125 -1.453125 6.171875 -2.203125 L 5.46875 -2.203125 C 5.34375 -1.640625 5.078125 -1.21875 4.703125 -0.9375 C 4.34375 -0.671875 3.90625 -0.53125 3.390625 -0.53125 C 2.640625 -0.53125 2.0625 -0.78125 1.671875 -1.28125 C 1.296875 -1.75 1.109375 -2.390625 1.109375 -3.1875 C 1.109375 -3.984375 1.3125 -4.625 1.6875 -5.109375 C 2.09375 -5.640625 2.65625 -5.890625 3.40625 -5.890625 C 3.921875 -5.890625 4.34375 -5.78125 4.6875 -5.53125 C 5.046875 -5.28125 5.28125 -4.921875 5.375 -4.453125 L 6.078125 -4.453125 C 6 -5.09375 5.703125 -5.609375 5.21875 -5.984375 C 4.734375 -6.359375 4.125 -6.546875 3.421875 -6.546875 Z M 3.421875 -6.546875 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph1-5\" overflow=\"visible\">\n",
       "<path d=\"M 2.640625 -4.78125 C 1.9375 -4.78125 1.390625 -4.546875 0.96875 -4.0625 C 0.578125 -3.59375 0.375 -3.03125 0.375 -2.328125 C 0.375 -1.625 0.578125 -1.046875 0.96875 -0.609375 C 1.390625 -0.109375 1.9375 0.125 2.640625 0.125 C 3.328125 0.125 3.890625 -0.109375 4.3125 -0.609375 C 4.703125 -1.046875 4.890625 -1.625 4.890625 -2.328125 C 4.890625 -3.03125 4.703125 -3.59375 4.296875 -4.0625 C 3.890625 -4.546875 3.328125 -4.78125 2.640625 -4.78125 Z M 2.640625 -4.171875 C 3.125 -4.171875 3.515625 -3.984375 3.796875 -3.609375 C 4.046875 -3.265625 4.171875 -2.84375 4.171875 -2.328125 C 4.171875 -1.8125 4.046875 -1.390625 3.796875 -1.046875 C 3.515625 -0.671875 3.125 -0.484375 2.640625 -0.484375 C 2.140625 -0.484375 1.75 -0.671875 1.484375 -1.046875 C 1.234375 -1.390625 1.109375 -1.8125 1.109375 -2.328125 C 1.109375 -2.84375 1.234375 -3.265625 1.484375 -3.609375 C 1.75 -3.984375 2.140625 -4.171875 2.640625 -4.171875 Z M 2.640625 -4.171875 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph1-6\" overflow=\"visible\">\n",
       "<path d=\"M 2.734375 -4.78125 C 2.4375 -4.78125 2.15625 -4.703125 1.90625 -4.5625 C 1.640625 -4.421875 1.4375 -4.234375 1.28125 -3.96875 L 1.28125 -4.65625 L 0.5625 -4.65625 L 0.5625 0 L 1.28125 0 L 1.28125 -2.8125 C 1.3125 -3.234375 1.4375 -3.5625 1.6875 -3.8125 C 1.921875 -4.046875 2.203125 -4.171875 2.53125 -4.171875 C 3.34375 -4.171875 3.75 -3.71875 3.75 -2.8125 L 3.75 0 L 4.46875 0 L 4.46875 -2.859375 C 4.46875 -4.140625 3.890625 -4.78125 2.734375 -4.78125 Z M 2.734375 -4.78125 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph1-7\" overflow=\"visible\">\n",
       "<path d=\"M 0.046875 -4.65625 L 1.796875 0 L 2.53125 0 L 4.296875 -4.65625 L 3.5 -4.65625 L 2.171875 -0.90625 L 0.84375 -4.65625 Z M 0.046875 -4.65625 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph1-8\" overflow=\"visible\">\n",
       "<path d=\"M 1.84375 -7.4375 C 1.453125 -6.859375 1.140625 -6.25 0.921875 -5.59375 C 0.640625 -4.8125 0.515625 -4.03125 0.515625 -3.234375 C 0.515625 -2.453125 0.640625 -1.671875 0.921875 -0.890625 C 1.140625 -0.25 1.453125 0.375 1.84375 0.96875 L 2.46875 0.96875 C 2.109375 0.359375 1.8125 -0.265625 1.625 -0.90625 C 1.34375 -1.6875 1.21875 -2.46875 1.21875 -3.234375 C 1.21875 -4.015625 1.34375 -4.78125 1.625 -5.578125 C 1.8125 -6.234375 2.109375 -6.84375 2.46875 -7.4375 Z M 1.84375 -7.4375 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph1-9\" overflow=\"visible\">\n",
       "<path d=\"M 2.625 -6.546875 C 2 -6.546875 1.46875 -6.34375 1.078125 -5.921875 C 0.65625 -5.515625 0.453125 -4.984375 0.453125 -4.34375 C 0.453125 -3.71875 0.640625 -3.21875 1.015625 -2.828125 C 1.390625 -2.4375 1.875 -2.21875 2.5 -2.21875 C 2.875 -2.21875 3.21875 -2.328125 3.5 -2.5 C 3.796875 -2.6875 4.03125 -2.953125 4.1875 -3.28125 L 4.234375 -3.28125 C 4.234375 -3.171875 4.234375 -3.09375 4.234375 -3.046875 C 4.234375 -2.328125 4.09375 -1.71875 3.8125 -1.234375 C 3.515625 -0.75 3.125 -0.5 2.625 -0.5 C 1.875 -0.5 1.4375 -0.859375 1.296875 -1.59375 L 0.5625 -1.59375 C 0.734375 -0.453125 1.421875 0.125 2.625 0.125 C 3.34375 0.125 3.921875 -0.21875 4.34375 -0.875 C 4.75 -1.53125 4.953125 -2.359375 4.953125 -3.390625 C 4.953125 -4.375 4.765625 -5.140625 4.390625 -5.6875 C 3.984375 -6.265625 3.40625 -6.546875 2.625 -6.546875 Z M 2.640625 -5.9375 C 3.09375 -5.9375 3.453125 -5.78125 3.71875 -5.46875 C 3.984375 -5.1875 4.109375 -4.8125 4.109375 -4.359375 C 4.109375 -3.921875 3.96875 -3.5625 3.703125 -3.265625 C 3.40625 -2.984375 3.0625 -2.828125 2.640625 -2.828125 C 2.203125 -2.828125 1.84375 -2.984375 1.578125 -3.265625 C 1.3125 -3.53125 1.1875 -3.890625 1.1875 -4.34375 C 1.1875 -4.8125 1.3125 -5.1875 1.578125 -5.484375 C 1.859375 -5.78125 2.203125 -5.9375 2.640625 -5.9375 Z M 2.640625 -5.9375 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph1-10\" overflow=\"visible\">\n",
       "<path d=\"M 2.796875 -6.546875 C 2.0625 -6.546875 1.484375 -6.21875 1.0625 -5.546875 C 0.65625 -4.90625 0.453125 -4.0625 0.453125 -3.046875 C 0.453125 -2.0625 0.640625 -1.296875 1.015625 -0.75 C 1.40625 -0.171875 2 0.125 2.78125 0.125 C 3.40625 0.125 3.921875 -0.09375 4.34375 -0.5 C 4.75 -0.921875 4.953125 -1.453125 4.953125 -2.078125 C 4.953125 -2.703125 4.765625 -3.21875 4.390625 -3.609375 C 4.015625 -4 3.515625 -4.203125 2.90625 -4.203125 C 2.53125 -4.203125 2.203125 -4.109375 1.90625 -3.921875 C 1.609375 -3.75 1.375 -3.484375 1.21875 -3.15625 L 1.171875 -3.15625 C 1.171875 -3.265625 1.171875 -3.34375 1.171875 -3.390625 C 1.171875 -4.109375 1.3125 -4.71875 1.59375 -5.1875 C 1.875 -5.6875 2.28125 -5.9375 2.78125 -5.9375 C 3.53125 -5.9375 3.96875 -5.578125 4.109375 -4.828125 L 4.84375 -4.828125 C 4.65625 -5.984375 3.984375 -6.546875 2.796875 -6.546875 Z M 2.765625 -3.59375 C 3.203125 -3.59375 3.5625 -3.453125 3.828125 -3.171875 C 4.09375 -2.890625 4.21875 -2.53125 4.21875 -2.078125 C 4.21875 -1.625 4.09375 -1.234375 3.8125 -0.9375 C 3.546875 -0.640625 3.1875 -0.5 2.765625 -0.5 C 2.3125 -0.5 1.96875 -0.640625 1.6875 -0.953125 C 1.421875 -1.234375 1.296875 -1.609375 1.296875 -2.0625 C 1.296875 -2.515625 1.4375 -2.875 1.703125 -3.15625 C 1.984375 -3.453125 2.34375 -3.59375 2.765625 -3.59375 Z M 2.765625 -3.59375 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph1-11\" overflow=\"visible\">\n",
       "<path d=\"M 0.515625 -7.4375 C 0.875 -6.84375 1.171875 -6.234375 1.375 -5.578125 C 1.640625 -4.78125 1.765625 -4.015625 1.765625 -3.234375 C 1.765625 -2.46875 1.640625 -1.6875 1.375 -0.90625 C 1.171875 -0.265625 0.875 0.359375 0.515625 0.96875 L 1.15625 0.96875 C 1.53125 0.375 1.84375 -0.25 2.078125 -0.890625 C 2.34375 -1.671875 2.46875 -2.453125 2.46875 -3.234375 C 2.46875 -4.03125 2.34375 -4.8125 2.078125 -5.59375 C 1.84375 -6.25 1.53125 -6.859375 1.15625 -7.4375 Z M 0.515625 -7.4375 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph1-12\" overflow=\"visible\">\n",
       "<path d=\"M 1.1875 -1.078125 C 1.015625 -1.078125 0.875 -1.03125 0.78125 -0.921875 C 0.65625 -0.8125 0.609375 -0.6875 0.609375 -0.515625 C 0.609375 -0.359375 0.65625 -0.21875 0.765625 -0.109375 C 0.875 -0.015625 1 0.046875 1.15625 0.046875 C 1.234375 0.046875 1.3125 0.03125 1.34375 0.015625 C 1.34375 0.21875 1.28125 0.421875 1.15625 0.609375 C 1.015625 0.796875 0.8125 0.921875 0.578125 1.015625 L 0.578125 1.453125 C 0.96875 1.34375 1.28125 1.15625 1.515625 0.859375 C 1.75 0.5625 1.859375 0.203125 1.859375 -0.1875 C 1.859375 -0.453125 1.796875 -0.65625 1.6875 -0.8125 C 1.5625 -0.984375 1.390625 -1.078125 1.1875 -1.078125 Z M 1.1875 -1.078125 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph1-13\" overflow=\"visible\">\n",
       "<path d=\"M 2.203125 -4.78125 C 1.6875 -4.78125 1.25 -4.65625 0.921875 -4.421875 C 0.578125 -4.1875 0.40625 -3.890625 0.40625 -3.484375 C 0.40625 -3.09375 0.578125 -2.796875 0.9375 -2.578125 C 1.15625 -2.4375 1.53125 -2.296875 2.09375 -2.171875 C 2.59375 -2.046875 2.921875 -1.9375 3.078125 -1.875 C 3.359375 -1.734375 3.515625 -1.53125 3.515625 -1.265625 C 3.515625 -0.75 3.09375 -0.484375 2.265625 -0.484375 C 1.875 -0.484375 1.578125 -0.546875 1.375 -0.6875 C 1.171875 -0.859375 1.046875 -1.109375 0.984375 -1.484375 L 0.28125 -1.484375 C 0.390625 -0.40625 1.0625 0.125 2.28125 0.125 C 3.59375 0.125 4.25 -0.359375 4.25 -1.3125 C 4.25 -1.71875 4.0625 -2.03125 3.703125 -2.265625 C 3.453125 -2.421875 3.0625 -2.5625 2.5 -2.703125 C 2.03125 -2.828125 1.703125 -2.921875 1.53125 -3 C 1.265625 -3.140625 1.140625 -3.3125 1.140625 -3.515625 C 1.140625 -3.71875 1.234375 -3.875 1.4375 -4 C 1.625 -4.125 1.875 -4.171875 2.203125 -4.171875 C 2.5625 -4.171875 2.859375 -4.109375 3.046875 -3.953125 C 3.234375 -3.828125 3.34375 -3.625 3.40625 -3.328125 L 4.109375 -3.328125 C 3.984375 -4.296875 3.359375 -4.78125 2.203125 -4.78125 Z M 2.203125 -4.78125 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph1-14\" overflow=\"visible\">\n",
       "<path d=\"M 1.796875 -6.15625 L 1.09375 -5.859375 L 1.09375 -4.65625 L 0.15625 -4.65625 L 0.15625 -4.046875 L 1.09375 -4.046875 L 1.09375 -1.09375 C 1.09375 -0.734375 1.15625 -0.484375 1.3125 -0.296875 C 1.46875 -0.09375 1.75 0 2.140625 0 L 2.828125 0 L 2.828125 -0.609375 L 2.234375 -0.609375 C 2.078125 -0.609375 1.96875 -0.640625 1.90625 -0.71875 C 1.828125 -0.796875 1.796875 -0.921875 1.796875 -1.09375 L 1.796875 -4.046875 L 2.953125 -4.046875 L 2.953125 -4.65625 L 1.796875 -4.65625 Z M 1.796875 -6.15625 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph1-15\" overflow=\"visible\">\n",
       "<path d=\"M 2.59375 -4.78125 C 2.28125 -4.78125 2 -4.6875 1.75 -4.484375 C 1.5625 -4.328125 1.390625 -4.109375 1.265625 -3.84375 L 1.265625 -4.65625 L 0.5625 -4.65625 L 0.5625 0 L 1.265625 0 L 1.265625 -2.46875 C 1.265625 -2.890625 1.390625 -3.265625 1.640625 -3.578125 C 1.875 -3.890625 2.1875 -4.046875 2.546875 -4.046875 C 2.765625 -4.046875 3 -4.015625 3.234375 -3.953125 L 3.234375 -4.671875 C 3.0625 -4.75 2.859375 -4.78125 2.59375 -4.78125 Z M 2.59375 -4.78125 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph1-16\" overflow=\"visible\">\n",
       "<path d=\"M 1.15625 -6.40625 C 1 -6.40625 0.875 -6.359375 0.765625 -6.25 C 0.65625 -6.171875 0.609375 -6.03125 0.609375 -5.875 C 0.609375 -5.71875 0.65625 -5.59375 0.765625 -5.484375 C 0.875 -5.390625 1 -5.34375 1.15625 -5.34375 C 1.3125 -5.34375 1.4375 -5.390625 1.53125 -5.484375 C 1.640625 -5.59375 1.703125 -5.71875 1.703125 -5.875 C 1.703125 -6.03125 1.640625 -6.171875 1.53125 -6.25 C 1.4375 -6.359375 1.3125 -6.40625 1.15625 -6.40625 Z M 0.796875 -4.65625 L 0.796875 0 L 1.515625 0 L 1.515625 -4.65625 Z M 0.796875 -4.65625 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph1-17\" overflow=\"visible\">\n",
       "<path d=\"M 4 -6.546875 L 4 -3.796875 C 3.640625 -4.453125 3.125 -4.78125 2.453125 -4.78125 C 1.796875 -4.78125 1.28125 -4.53125 0.90625 -4.03125 C 0.546875 -3.578125 0.375 -3.03125 0.375 -2.34375 C 0.375 -1.640625 0.546875 -1.0625 0.90625 -0.609375 C 1.28125 -0.125 1.8125 0.125 2.5 0.125 C 3.1875 0.125 3.71875 -0.171875 4.046875 -0.765625 L 4.046875 0 L 4.71875 0 L 4.71875 -6.546875 Z M 2.609375 -4.1875 C 3.03125 -4.1875 3.359375 -4.015625 3.625 -3.6875 C 3.875 -3.34375 4.015625 -2.90625 4.015625 -2.359375 L 4.015625 -2.28125 C 4.015625 -1.75 3.890625 -1.328125 3.671875 -1.015625 C 3.40625 -0.640625 3.046875 -0.46875 2.578125 -0.46875 C 2.078125 -0.46875 1.703125 -0.65625 1.453125 -1.015625 C 1.21875 -1.34375 1.109375 -1.78125 1.109375 -2.34375 C 1.109375 -2.890625 1.21875 -3.328125 1.453125 -3.640625 C 1.703125 -4 2.09375 -4.1875 2.609375 -4.1875 Z M 2.609375 -4.1875 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph1-18\" overflow=\"visible\">\n",
       "<path d=\"M 2.46875 -4.78125 C 1.796875 -4.78125 1.265625 -4.53125 0.875 -4.046875 C 0.484375 -3.59375 0.28125 -3.015625 0.28125 -2.328125 C 0.28125 -1.578125 0.484375 -0.984375 0.90625 -0.53125 C 1.296875 -0.09375 1.84375 0.125 2.5 0.125 C 3.109375 0.125 3.59375 -0.046875 3.984375 -0.390625 C 4.296875 -0.6875 4.515625 -1.046875 4.609375 -1.5 L 3.890625 -1.5 C 3.78125 -1.171875 3.625 -0.921875 3.421875 -0.765625 C 3.1875 -0.578125 2.875 -0.484375 2.5 -0.484375 C 2.0625 -0.484375 1.703125 -0.625 1.453125 -0.90625 C 1.203125 -1.203125 1.078125 -1.609375 1.03125 -2.125 L 4.703125 -2.125 C 4.6875 -2.9375 4.515625 -3.578125 4.171875 -4.015625 C 3.78125 -4.53125 3.21875 -4.78125 2.46875 -4.78125 Z M 2.5 -4.171875 C 3.375 -4.171875 3.875 -3.6875 3.953125 -2.6875 L 1.046875 -2.6875 C 1.09375 -3.140625 1.234375 -3.5 1.5 -3.765625 C 1.75 -4.046875 2.078125 -4.171875 2.5 -4.171875 Z M 2.5 -4.171875 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph1-19\" overflow=\"visible\">\n",
       "<path d=\"M 3.453125 -6.421875 L 0.21875 -2.15625 L 0.21875 -1.453125 L 3.453125 -1.453125 L 3.453125 0 L 4.15625 0 L 4.15625 -1.453125 L 5.1875 -1.453125 L 5.1875 -2.0625 L 4.15625 -2.0625 L 4.15625 -6.421875 Z M 3.421875 -5.46875 L 3.453125 -5.46875 L 3.453125 -2.0625 L 0.84375 -2.0625 Z M 3.421875 -5.46875 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph1-20\" overflow=\"visible\">\n",
       "<path d=\"M 2.765625 -6.546875 C 2.15625 -6.546875 1.65625 -6.375 1.28125 -6.03125 C 0.875 -5.671875 0.640625 -5.1875 0.59375 -4.578125 L 1.328125 -4.578125 C 1.375 -5 1.515625 -5.34375 1.765625 -5.578125 C 2 -5.8125 2.34375 -5.90625 2.765625 -5.90625 C 3.1875 -5.90625 3.515625 -5.8125 3.75 -5.59375 C 3.96875 -5.40625 4.09375 -5.125 4.09375 -4.765625 C 4.09375 -4.40625 3.96875 -4.125 3.75 -3.921875 C 3.515625 -3.734375 3.1875 -3.640625 2.765625 -3.640625 L 2.265625 -3.640625 L 2.265625 -3.0625 L 2.796875 -3.0625 C 3.234375 -3.0625 3.578125 -2.96875 3.828125 -2.75 C 4.09375 -2.53125 4.21875 -2.234375 4.21875 -1.84375 C 4.21875 -1.46875 4.078125 -1.15625 3.828125 -0.90625 C 3.546875 -0.640625 3.171875 -0.5 2.71875 -0.5 C 2.3125 -0.5 1.984375 -0.625 1.703125 -0.84375 C 1.390625 -1.09375 1.21875 -1.484375 1.203125 -1.984375 L 0.453125 -1.984375 C 0.515625 -1.265625 0.765625 -0.71875 1.21875 -0.34375 C 1.609375 -0.03125 2.109375 0.125 2.71875 0.125 C 3.390625 0.125 3.921875 -0.0625 4.34375 -0.4375 C 4.75 -0.8125 4.953125 -1.28125 4.953125 -1.875 C 4.953125 -2.25 4.84375 -2.5625 4.625 -2.8125 C 4.421875 -3.0625 4.140625 -3.25 3.765625 -3.359375 C 4.46875 -3.59375 4.8125 -4.09375 4.8125 -4.8125 C 4.8125 -5.34375 4.625 -5.765625 4.25 -6.078125 C 3.875 -6.40625 3.375 -6.546875 2.765625 -6.546875 Z M 2.765625 -6.546875 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph1-21\" overflow=\"visible\">\n",
       "<path d=\"M 0.640625 -6.421875 L 0.640625 0 L 1.390625 0 L 1.390625 -5.109375 L 1.40625 -5.109375 L 3.640625 0 L 4.296875 0 L 6.53125 -5.109375 L 6.546875 -5.109375 L 6.546875 0 L 7.296875 0 L 7.296875 -6.421875 L 6.375 -6.421875 L 3.984375 -0.9375 L 3.953125 -0.9375 L 1.5625 -6.421875 Z M 0.640625 -6.421875 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph1-22\" overflow=\"visible\">\n",
       "<path d=\"M 2.578125 -4.78125 C 2.03125 -4.78125 1.578125 -4.671875 1.234375 -4.453125 C 0.859375 -4.21875 0.625 -3.859375 0.515625 -3.359375 L 1.234375 -3.3125 C 1.3125 -3.609375 1.453125 -3.828125 1.703125 -3.984375 C 1.921875 -4.125 2.203125 -4.1875 2.53125 -4.1875 C 3.34375 -4.1875 3.75 -3.796875 3.75 -3.015625 L 3.75 -2.765625 L 2.640625 -2.75 C 1.9375 -2.75 1.390625 -2.609375 1.015625 -2.359375 C 0.578125 -2.09375 0.375 -1.6875 0.375 -1.15625 C 0.375 -0.78125 0.515625 -0.46875 0.8125 -0.21875 C 1.09375 0.015625 1.453125 0.125 1.921875 0.125 C 2.359375 0.125 2.75 0.03125 3.09375 -0.15625 C 3.375 -0.328125 3.625 -0.53125 3.796875 -0.78125 L 3.796875 0 L 4.46875 0 L 4.46875 -2.984375 C 4.46875 -3.53125 4.328125 -3.953125 4.0625 -4.25 C 3.734375 -4.609375 3.25 -4.78125 2.578125 -4.78125 Z M 3.75 -2.234375 L 3.75 -1.84375 C 3.75 -1.46875 3.578125 -1.15625 3.25 -0.875 C 2.90625 -0.578125 2.515625 -0.4375 2.078125 -0.4375 C 1.796875 -0.4375 1.5625 -0.515625 1.375 -0.640625 C 1.203125 -0.796875 1.109375 -0.96875 1.109375 -1.171875 C 1.109375 -1.859375 1.640625 -2.203125 2.6875 -2.21875 Z M 3.75 -2.234375 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph1-23\" overflow=\"visible\">\n",
       "<path d=\"M 0.640625 -6.421875 L 0.640625 0 L 1.390625 0 L 1.390625 -2.625 L 3.265625 -2.625 C 4.75 -2.625 5.484375 -3.265625 5.484375 -4.53125 C 5.484375 -5.796875 4.75 -6.421875 3.28125 -6.421875 Z M 1.390625 -5.78125 L 3.234375 -5.78125 C 3.75 -5.78125 4.125 -5.6875 4.375 -5.46875 C 4.625 -5.28125 4.75 -4.96875 4.75 -4.53125 C 4.75 -4.109375 4.625 -3.78125 4.390625 -3.578125 C 4.125 -3.375 3.75 -3.265625 3.234375 -3.265625 L 1.390625 -3.265625 Z M 1.390625 -5.78125 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph1-24\" overflow=\"visible\">\n",
       "<path d=\"M 0.703125 -6.546875 L 0.703125 0 L 1.40625 0 L 1.40625 -6.546875 Z M 0.703125 -6.546875 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph1-25\" overflow=\"visible\">\n",
       "<path d=\"M 2.796875 -6.546875 C 2.140625 -6.546875 1.609375 -6.34375 1.21875 -5.90625 C 0.8125 -5.484375 0.609375 -4.90625 0.609375 -4.1875 L 1.34375 -4.1875 C 1.359375 -4.75 1.5 -5.1875 1.75 -5.46875 C 1.984375 -5.78125 2.328125 -5.921875 2.765625 -5.921875 C 3.171875 -5.921875 3.515625 -5.8125 3.75 -5.59375 C 3.984375 -5.375 4.09375 -5.078125 4.09375 -4.6875 C 4.09375 -4.28125 3.921875 -3.890625 3.59375 -3.53125 C 3.421875 -3.359375 3.09375 -3.09375 2.59375 -2.734375 C 1.90625 -2.265625 1.453125 -1.875 1.203125 -1.59375 C 0.765625 -1.109375 0.5625 -0.578125 0.5625 0 L 4.84375 0 L 4.84375 -0.65625 L 1.46875 -0.65625 C 1.578125 -1.09375 2.046875 -1.578125 2.875 -2.140625 C 3.53125 -2.578125 3.984375 -2.9375 4.203125 -3.171875 C 4.609375 -3.625 4.828125 -4.125 4.828125 -4.6875 C 4.828125 -5.234375 4.640625 -5.703125 4.25 -6.03125 C 3.875 -6.375 3.390625 -6.546875 2.796875 -6.546875 Z M 2.796875 -6.546875 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph1-26\" overflow=\"visible\">\n",
       "<path d=\"M 0.9375 -6.421875 L 0.609375 -2.875 L 1.3125 -2.875 C 1.4375 -3.125 1.625 -3.328125 1.875 -3.453125 C 2.125 -3.59375 2.390625 -3.65625 2.703125 -3.65625 C 3.171875 -3.65625 3.53125 -3.515625 3.796875 -3.234375 C 4.0625 -2.953125 4.21875 -2.5625 4.21875 -2.046875 C 4.21875 -1.59375 4.0625 -1.21875 3.765625 -0.9375 C 3.46875 -0.640625 3.109375 -0.5 2.65625 -0.5 C 2.265625 -0.5 1.921875 -0.609375 1.671875 -0.796875 C 1.390625 -1.015625 1.21875 -1.328125 1.1875 -1.734375 L 0.453125 -1.734375 C 0.5 -1.140625 0.75 -0.671875 1.203125 -0.328125 C 1.59375 -0.03125 2.078125 0.125 2.640625 0.125 C 3.28125 0.125 3.8125 -0.078125 4.25 -0.453125 C 4.703125 -0.875 4.9375 -1.40625 4.9375 -2.046875 C 4.9375 -2.75 4.75 -3.28125 4.359375 -3.6875 C 3.984375 -4.0625 3.484375 -4.25 2.875 -4.25 C 2.578125 -4.25 2.3125 -4.21875 2.0625 -4.109375 C 1.78125 -4 1.546875 -3.828125 1.375 -3.625 L 1.328125 -3.625 L 1.546875 -5.765625 L 4.6875 -5.765625 L 4.6875 -6.421875 Z M 0.9375 -6.421875 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph1-27\" overflow=\"visible\">\n",
       "<path d=\"M 2.78125 -4.78125 C 2.078125 -4.78125 1.5625 -4.484375 1.234375 -3.890625 L 1.234375 -4.65625 L 0.5625 -4.65625 L 0.5625 1.78125 L 1.28125 1.78125 L 1.28125 -0.84375 C 1.640625 -0.203125 2.15625 0.125 2.8125 0.125 C 3.484375 0.125 4 -0.125 4.375 -0.609375 C 4.71875 -1.0625 4.890625 -1.625 4.890625 -2.3125 C 4.890625 -3.015625 4.71875 -3.578125 4.359375 -4.03125 C 3.984375 -4.53125 3.453125 -4.78125 2.78125 -4.78125 Z M 2.6875 -4.1875 C 3.1875 -4.1875 3.5625 -4 3.828125 -3.625 C 4.046875 -3.296875 4.15625 -2.859375 4.15625 -2.3125 C 4.15625 -1.75 4.046875 -1.3125 3.8125 -0.984375 C 3.546875 -0.640625 3.171875 -0.46875 2.65625 -0.46875 C 2.234375 -0.46875 1.90625 -0.640625 1.640625 -0.96875 C 1.375 -1.296875 1.25 -1.734375 1.25 -2.265625 L 1.25 -2.359375 C 1.25 -2.875 1.375 -3.3125 1.609375 -3.640625 C 1.859375 -4 2.21875 -4.1875 2.6875 -4.1875 Z M 2.6875 -4.1875 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph1-28\" overflow=\"visible\">\n",
       "<path d=\"M 2.703125 -6.546875 C 2.03125 -6.546875 1.5 -6.375 1.125 -6.03125 C 0.78125 -5.71875 0.609375 -5.3125 0.609375 -4.84375 C 0.609375 -4.515625 0.6875 -4.21875 0.84375 -3.984375 C 1.015625 -3.734375 1.265625 -3.546875 1.609375 -3.421875 L 1.609375 -3.40625 C 1.265625 -3.328125 0.984375 -3.140625 0.75 -2.859375 C 0.5 -2.546875 0.375 -2.1875 0.375 -1.765625 C 0.375 -1.203125 0.578125 -0.75 0.96875 -0.40625 C 1.375 -0.046875 1.953125 0.125 2.703125 0.125 C 3.4375 0.125 4.015625 -0.046875 4.421875 -0.40625 C 4.828125 -0.75 5.015625 -1.203125 5.015625 -1.765625 C 5.015625 -2.1875 4.890625 -2.546875 4.640625 -2.859375 C 4.40625 -3.140625 4.125 -3.328125 3.78125 -3.40625 L 3.78125 -3.421875 C 4.125 -3.546875 4.375 -3.734375 4.546875 -3.984375 C 4.71875 -4.21875 4.796875 -4.515625 4.796875 -4.84375 C 4.796875 -5.3125 4.609375 -5.71875 4.28125 -6.03125 C 3.890625 -6.375 3.359375 -6.546875 2.703125 -6.546875 Z M 2.703125 -5.953125 C 3.15625 -5.953125 3.515625 -5.828125 3.765625 -5.59375 C 3.984375 -5.40625 4.109375 -5.140625 4.109375 -4.828125 C 4.109375 -4.5 4 -4.234375 3.8125 -4.03125 C 3.5625 -3.796875 3.1875 -3.671875 2.703125 -3.671875 C 2.203125 -3.671875 1.828125 -3.796875 1.59375 -4.03125 C 1.390625 -4.234375 1.296875 -4.5 1.296875 -4.828125 C 1.296875 -5.140625 1.40625 -5.40625 1.625 -5.59375 C 1.875 -5.828125 2.234375 -5.953125 2.703125 -5.953125 Z M 2.703125 -3.09375 C 3.21875 -3.09375 3.625 -2.96875 3.90625 -2.703125 C 4.15625 -2.46875 4.296875 -2.15625 4.296875 -1.765625 C 4.296875 -1.390625 4.15625 -1.09375 3.90625 -0.859375 C 3.625 -0.609375 3.21875 -0.484375 2.703125 -0.484375 C 2.171875 -0.484375 1.765625 -0.609375 1.5 -0.84375 C 1.234375 -1.078125 1.109375 -1.390625 1.109375 -1.765625 C 1.109375 -2.15625 1.234375 -2.46875 1.5 -2.703125 C 1.78125 -2.96875 2.171875 -3.09375 2.703125 -3.09375 Z M 2.703125 -3.09375 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph1-29\" overflow=\"visible\">\n",
       "<path d=\"M 0.640625 -6.421875 L 0.640625 0 L 2.875 0 C 3.890625 0 4.65625 -0.296875 5.203125 -0.875 C 5.71875 -1.4375 5.96875 -2.21875 5.96875 -3.21875 C 5.96875 -4.21875 5.734375 -5 5.25 -5.546875 C 4.734375 -6.140625 3.96875 -6.421875 2.953125 -6.421875 Z M 1.390625 -5.78125 L 2.828125 -5.78125 C 3.6875 -5.78125 4.296875 -5.578125 4.6875 -5.125 C 5.0625 -4.71875 5.25 -4.078125 5.25 -3.21875 C 5.25 -2.375 5.046875 -1.734375 4.640625 -1.3125 C 4.21875 -0.859375 3.59375 -0.640625 2.75 -0.640625 L 1.390625 -0.640625 Z M 1.390625 -5.78125 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "<symbol id=\"glyph1-30\" overflow=\"visible\">\n",
       "<path d=\"M 2.703125 -6.546875 C 1.921875 -6.546875 1.34375 -6.21875 0.96875 -5.53125 C 0.625 -4.953125 0.453125 -4.1875 0.453125 -3.21875 C 0.453125 -2.234375 0.625 -1.46875 0.96875 -0.890625 C 1.34375 -0.21875 1.921875 0.125 2.703125 0.125 C 3.46875 0.125 4.046875 -0.21875 4.4375 -0.890625 C 4.78125 -1.46875 4.953125 -2.234375 4.953125 -3.21875 C 4.953125 -4.1875 4.78125 -4.953125 4.4375 -5.53125 C 4.046875 -6.21875 3.46875 -6.546875 2.703125 -6.546875 Z M 2.703125 -5.921875 C 3.28125 -5.921875 3.6875 -5.609375 3.9375 -5 C 4.125 -4.5625 4.21875 -3.96875 4.21875 -3.21875 C 4.21875 -2.46875 4.125 -1.875 3.9375 -1.4375 C 3.6875 -0.8125 3.28125 -0.5 2.703125 -0.5 C 2.125 -0.5 1.703125 -0.8125 1.453125 -1.4375 C 1.28125 -1.875 1.1875 -2.46875 1.1875 -3.21875 C 1.1875 -3.96875 1.28125 -4.5625 1.453125 -5 C 1.703125 -5.609375 2.125 -5.921875 2.703125 -5.921875 Z M 2.703125 -5.921875 \" style=\"stroke:none;\"/>\n",
       "</symbol>\n",
       "</g>\n",
       "</defs>\n",
       "<g id=\"surface1\">\n",
       "<path d=\"M 339.019531 241.699219 L 443.019531 241.699219 L 443.019531 260.601562 L 339.019531 260.601562 Z M 339.019531 241.699219 \" style=\"fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"339.755\" xlink:href=\"#glyph0-1\" y=\"161.65\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"346.2548\" xlink:href=\"#glyph0-2\" y=\"161.65\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"351.2606\" xlink:href=\"#glyph0-3\" y=\"161.65\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"356.2664\" xlink:href=\"#glyph0-4\" y=\"161.65\"/>\n",
       "  <use x=\"360.7664\" xlink:href=\"#glyph0-2\" y=\"161.65\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"365.7722\" xlink:href=\"#glyph0-5\" y=\"161.65\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"368.2724\" xlink:href=\"#glyph0-6\" y=\"161.65\"/>\n",
       "  <use x=\"371.2694\" xlink:href=\"#glyph0-7\" y=\"161.65\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"376.2752\" xlink:href=\"#glyph0-8\" y=\"161.65\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"381.281\" xlink:href=\"#glyph0-9\" y=\"161.65\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"386.2868\" xlink:href=\"#glyph0-10\" y=\"161.65\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"391.2926\" xlink:href=\"#glyph0-11\" y=\"161.65\"/>\n",
       "</g>\n",
       "<path d=\"M 339.019531 209.699219 L 443.019531 209.699219 L 443.019531 228.601562 L 339.019531 228.601562 Z M 339.019531 209.699219 \" style=\"fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"339.755\" xlink:href=\"#glyph0-1\" y=\"129.65\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"346.2548\" xlink:href=\"#glyph0-2\" y=\"129.65\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"351.2606\" xlink:href=\"#glyph0-3\" y=\"129.65\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"356.2664\" xlink:href=\"#glyph0-4\" y=\"129.65\"/>\n",
       "  <use x=\"360.7664\" xlink:href=\"#glyph0-2\" y=\"129.65\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"365.7722\" xlink:href=\"#glyph0-5\" y=\"129.65\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"368.2724\" xlink:href=\"#glyph0-6\" y=\"129.65\"/>\n",
       "  <use x=\"371.2694\" xlink:href=\"#glyph0-7\" y=\"129.65\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"376.2752\" xlink:href=\"#glyph0-8\" y=\"129.65\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"381.281\" xlink:href=\"#glyph0-9\" y=\"129.65\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"386.2868\" xlink:href=\"#glyph0-10\" y=\"129.65\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"391.2926\" xlink:href=\"#glyph0-11\" y=\"129.65\"/>\n",
       "</g>\n",
       "<path d=\"M 391.019531 241.699219 L 391.019531 234.5 \" style=\"fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<path d=\"M 391.019531 230.5 L 391.019531 234.5 M 389.519531 234.5 L 391.019531 230.5 L 392.519531 234.5 \" style=\"fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<path d=\"M 339.019531 177.699219 L 443.019531 177.699219 L 443.019531 196.601562 L 339.019531 196.601562 Z M 339.019531 177.699219 \" style=\"fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"339.755\" xlink:href=\"#glyph0-1\" y=\"97.65\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"346.2548\" xlink:href=\"#glyph0-2\" y=\"97.65\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"351.2606\" xlink:href=\"#glyph0-3\" y=\"97.65\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"356.2664\" xlink:href=\"#glyph0-4\" y=\"97.65\"/>\n",
       "  <use x=\"360.7664\" xlink:href=\"#glyph0-2\" y=\"97.65\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"365.7722\" xlink:href=\"#glyph0-5\" y=\"97.65\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"368.2724\" xlink:href=\"#glyph0-6\" y=\"97.65\"/>\n",
       "  <use x=\"371.2694\" xlink:href=\"#glyph0-12\" y=\"97.65\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"376.2752\" xlink:href=\"#glyph0-8\" y=\"97.65\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"381.281\" xlink:href=\"#glyph0-8\" y=\"97.65\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"386.2868\" xlink:href=\"#glyph0-8\" y=\"97.65\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"391.2926\" xlink:href=\"#glyph0-11\" y=\"97.65\"/>\n",
       "</g>\n",
       "<path d=\"M 391.019531 209.699219 L 391.019531 202.5 \" style=\"fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<path d=\"M 391.019531 198.5 L 391.019531 202.5 M 389.519531 202.5 L 391.019531 198.5 L 392.519531 202.5 \" style=\"fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"45.84757\" xlink:href=\"#glyph0-13\" y=\"13.5\"/>\n",
       "  <use x=\"51.85057\" xlink:href=\"#glyph0-14\" y=\"13.5\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"53.85037\" xlink:href=\"#glyph0-2\" y=\"13.5\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"58.85617\" xlink:href=\"#glyph0-15\" y=\"13.5\"/>\n",
       "  <use x=\"63.35617\" xlink:href=\"#glyph0-16\" y=\"13.5\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"69.85597\" xlink:href=\"#glyph0-2\" y=\"13.5\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"74.86177\" xlink:href=\"#glyph0-17\" y=\"13.5\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"192.5552\" xlink:href=\"#glyph0-18\" y=\"216.25\"/>\n",
       "  <use x=\"198.5582\" xlink:href=\"#glyph0-19\" y=\"216.25\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"205.5584\" xlink:href=\"#glyph0-19\" y=\"216.25\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"212.5586\" xlink:href=\"#glyph0-5\" y=\"216.25\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"215.0588\" xlink:href=\"#glyph0-20\" y=\"216.25\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"220.0646\" xlink:href=\"#glyph0-14\" y=\"216.25\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"222.0644\" xlink:href=\"#glyph0-21\" y=\"216.25\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"227.0702\" xlink:href=\"#glyph0-22\" y=\"216.25\"/>\n",
       "  <use x=\"231.5702\" xlink:href=\"#glyph0-23\" y=\"216.25\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"363.1875\" xlink:href=\"#glyph0-24\" y=\"275.3\"/>\n",
       "</g>\n",
       "<path d=\"M 304.0625 326.5 L 172.5625 326.5 L 172.5625 458 L 304.0625 458 Z M 304.0625 326.5 \" style=\"fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<path d=\"M 238.25 398.800781 L 238.25 391.601562 \" style=\"fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<path d=\"M 238.25 387.601562 L 238.25 391.601562 M 236.75 391.601562 L 238.25 387.601562 L 239.75 391.601562 \" style=\"fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<path d=\"M 178.75 430.800781 L 297.75 430.800781 L 297.75 449.699219 L 178.75 449.699219 Z M 178.75 430.800781 \" style=\"fill-rule:nonzero;fill:rgb(69.804382%,85.098267%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"181.8118\" xlink:href=\"#glyph0-25\" y=\"350.75\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"186.8176\" xlink:href=\"#glyph0-15\" y=\"350.75\"/>\n",
       "  <use x=\"191.3176\" xlink:href=\"#glyph0-25\" y=\"350.75\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"196.3234\" xlink:href=\"#glyph0-5\" y=\"350.75\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"198.8236\" xlink:href=\"#glyph0-26\" y=\"350.75\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"205.3234\" xlink:href=\"#glyph0-21\" y=\"350.75\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"210.3292\" xlink:href=\"#glyph0-3\" y=\"350.75\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"215.335\" xlink:href=\"#glyph0-27\" y=\"350.75\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"219.1672\" xlink:href=\"#glyph0-28\" y=\"350.75\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"221.6674\" xlink:href=\"#glyph0-5\" y=\"350.75\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"224.1676\" xlink:href=\"#glyph0-29\" y=\"350.75\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"229.1734\" xlink:href=\"#glyph0-30\" y=\"350.75\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"234.1792\" xlink:href=\"#glyph0-31\" y=\"350.75\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"239.185\" xlink:href=\"#glyph0-5\" y=\"350.75\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"241.6852\" xlink:href=\"#glyph0-12\" y=\"350.75\"/>\n",
       "</g>\n",
       "<path d=\"M 178.75 366.800781 L 297.75 366.800781 L 297.75 385.699219 L 178.75 385.699219 Z M 178.75 366.800781 \" style=\"fill-rule:nonzero;fill:rgb(69.804382%,85.098267%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"181.8118\" xlink:href=\"#glyph0-25\" y=\"286.75\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"186.8176\" xlink:href=\"#glyph0-15\" y=\"286.75\"/>\n",
       "  <use x=\"191.3176\" xlink:href=\"#glyph0-25\" y=\"286.75\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"196.3234\" xlink:href=\"#glyph0-5\" y=\"286.75\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"198.8236\" xlink:href=\"#glyph0-26\" y=\"286.75\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"205.3234\" xlink:href=\"#glyph0-21\" y=\"286.75\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"210.3292\" xlink:href=\"#glyph0-3\" y=\"286.75\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"215.335\" xlink:href=\"#glyph0-27\" y=\"286.75\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"219.1672\" xlink:href=\"#glyph0-28\" y=\"286.75\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"221.6674\" xlink:href=\"#glyph0-5\" y=\"286.75\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"224.1676\" xlink:href=\"#glyph0-29\" y=\"286.75\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"229.1734\" xlink:href=\"#glyph0-30\" y=\"286.75\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"234.1792\" xlink:href=\"#glyph0-31\" y=\"286.75\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"239.185\" xlink:href=\"#glyph0-5\" y=\"286.75\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"241.6852\" xlink:href=\"#glyph0-12\" y=\"286.75\"/>\n",
       "</g>\n",
       "<path d=\"M 238.25 430.800781 L 238.25 423.601562 \" style=\"fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<path d=\"M 238.25 419.601562 L 238.25 423.601562 M 236.75 423.601562 L 238.25 419.601562 L 239.75 423.601562 \" style=\"fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<path d=\"M 178.75 334.800781 L 297.75 334.800781 L 297.75 353.699219 L 178.75 353.699219 Z M 178.75 334.800781 \" style=\"fill-rule:nonzero;fill:rgb(39.99939%,74.902344%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"170.9792\" xlink:href=\"#glyph0-25\" y=\"254.75\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"175.985\" xlink:href=\"#glyph0-15\" y=\"254.75\"/>\n",
       "  <use x=\"180.485\" xlink:href=\"#glyph0-25\" y=\"254.75\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"185.4908\" xlink:href=\"#glyph0-5\" y=\"254.75\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"187.991\" xlink:href=\"#glyph0-32\" y=\"254.75\"/>\n",
       "  <use x=\"195.488\" xlink:href=\"#glyph0-30\" y=\"254.75\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"200.4938\" xlink:href=\"#glyph0-15\" y=\"254.75\"/>\n",
       "  <use x=\"204.9938\" xlink:href=\"#glyph0-33\" y=\"254.75\"/>\n",
       "  <use x=\"210.9968\" xlink:href=\"#glyph0-21\" y=\"254.75\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"216.0026\" xlink:href=\"#glyph0-21\" y=\"254.75\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"221.0084\" xlink:href=\"#glyph0-14\" y=\"254.75\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"223.0082\" xlink:href=\"#glyph0-28\" y=\"254.75\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"225.5084\" xlink:href=\"#glyph0-5\" y=\"254.75\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"228.0086\" xlink:href=\"#glyph0-4\" y=\"254.75\"/>\n",
       "  <use x=\"232.5086\" xlink:href=\"#glyph0-17\" y=\"254.75\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"235.0088\" xlink:href=\"#glyph0-34\" y=\"254.75\"/>\n",
       "  <use x=\"238.0058\" xlink:href=\"#glyph0-35\" y=\"254.75\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"240.0056\" xlink:href=\"#glyph0-31\" y=\"254.75\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"245.0114\" xlink:href=\"#glyph0-2\" y=\"254.75\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"250.0172\" xlink:href=\"#glyph0-5\" y=\"254.75\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"252.5174\" xlink:href=\"#glyph0-36\" y=\"254.75\"/>\n",
       "</g>\n",
       "<path d=\"M 238.25 366.800781 L 238.25 359.601562 \" style=\"fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<path d=\"M 238.25 355.601562 L 238.25 359.601562 M 236.75 359.601562 L 238.25 355.601562 L 239.75 359.601562 \" style=\"fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"209.75\" xlink:href=\"#glyph0-24\" y=\"318.75\"/>\n",
       "</g>\n",
       "<path d=\"M 457.5 274.847656 L 326 274.847656 L 326 347.746094 L 457.5 347.746094 Z M 457.5 274.847656 \" style=\"fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<path d=\"M 391.6875 314.847656 L 391.6875 313.347656 \" style=\"fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<path d=\"M 391.6875 309.347656 L 391.6875 313.347656 M 390.1875 313.347656 L 391.6875 309.347656 L 393.1875 313.347656 \" style=\"fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<path d=\"M 332.1875 332.664062 L 451.1875 332.664062 L 451.1875 340.664062 L 332.1875 340.664062 Z M 332.1875 332.664062 \" style=\"fill-rule:nonzero;fill:rgb(69.804382%,85.098267%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<path d=\"M 332.1875 299.445312 L 451.1875 299.445312 L 451.1875 307.445312 L 332.1875 307.445312 Z M 332.1875 299.445312 \" style=\"fill-rule:nonzero;fill:rgb(69.804382%,85.098267%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<path d=\"M 391.6875 332.664062 L 391.6875 328.746094 \" style=\"fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<path d=\"M 391.6875 324.746094 L 391.6875 328.746094 M 390.1875 328.746094 L 391.6875 324.746094 L 393.1875 328.746094 \" style=\"fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<path d=\"M 332.1875 282.378906 L 451.1875 282.378906 L 451.1875 290.378906 L 332.1875 290.378906 Z M 332.1875 282.378906 \" style=\"fill-rule:nonzero;fill:rgb(39.99939%,74.902344%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<path d=\"M 391.6875 299.445312 L 391.6875 296.277344 \" style=\"fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<path d=\"M 391.6875 292.277344 L 391.6875 296.277344 M 390.1875 296.277344 L 391.6875 292.277344 L 393.1875 296.277344 \" style=\"fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"363.1875\" xlink:href=\"#glyph0-24\" y=\"229.3458\"/>\n",
       "</g>\n",
       "<path d=\"M 391.6875 425.101562 L 391.6875 423.601562 \" style=\"fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<path d=\"M 391.6875 419.601562 L 391.6875 423.601562 M 390.1875 423.601562 L 391.6875 419.601562 L 393.1875 423.601562 \" style=\"fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<path d=\"M 391.6875 442.917969 L 391.6875 439 \" style=\"fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<path d=\"M 391.6875 435 L 391.6875 439 M 390.1875 439 L 391.6875 435 L 393.1875 439 \" style=\"fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<path d=\"M 391.6875 409.699219 L 391.6875 406.535156 \" style=\"fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<path d=\"M 391.6875 402.535156 L 391.6875 406.535156 M 390.1875 406.535156 L 391.6875 402.535156 L 393.1875 406.535156 \" style=\"fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<path d=\"M 457.5 385.101562 L 326 385.101562 L 326 458 L 457.5 458 Z M 457.5 385.101562 \" style=\"fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<path d=\"M 332.1875 442.917969 L 451.1875 442.917969 L 451.1875 450.917969 L 332.1875 450.917969 Z M 332.1875 442.917969 \" style=\"fill-rule:nonzero;fill:rgb(69.804382%,85.098267%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<path d=\"M 332.1875 409.699219 L 451.1875 409.699219 L 451.1875 417.699219 L 332.1875 417.699219 Z M 332.1875 409.699219 \" style=\"fill-rule:nonzero;fill:rgb(69.804382%,85.098267%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<path d=\"M 332.1875 392.632812 L 451.1875 392.632812 L 451.1875 400.632812 L 332.1875 400.632812 Z M 332.1875 392.632812 \" style=\"fill-rule:nonzero;fill:rgb(39.99939%,74.902344%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"363.1875\" xlink:href=\"#glyph0-24\" y=\"339.6\"/>\n",
       "</g>\n",
       "<path d=\"M 391.710938 385.101562 L 391.703125 377.199219 \" style=\"fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<path d=\"M 391.695312 373.199219 L 391.703125 377.199219 M 390.203125 377.203125 L 391.695312 373.199219 L 393.203125 377.199219 \" style=\"fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<path d=\"M 391.695312 358.300781 L 391.699219 353.644531 \" style=\"fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<path d=\"M 391.707031 349.644531 L 391.699219 353.644531 M 390.199219 353.644531 L 391.707031 349.644531 L 393.199219 353.648438 \" style=\"fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<path d=\"M 391.308594 274.847656 L 391.207031 266.5 \" style=\"fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<path d=\"M 391.160156 262.5 L 391.207031 266.5 M 389.707031 266.519531 L 391.160156 262.5 L 392.707031 266.480469 \" style=\"fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"357.0189\" xlink:href=\"#glyph0-18\" y=\"71.1\"/>\n",
       "  <use x=\"363.0219\" xlink:href=\"#glyph0-19\" y=\"71.1\"/>\n",
       "</g>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"370.0221\" xlink:href=\"#glyph0-19\" y=\"71.1\"/>\n",
       "</g>\n",
       "<path d=\"M 84.9375 279.101562 L 84.9375 271.898438 \" style=\"fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<path d=\"M 84.9375 267.898438 L 84.9375 271.898438 M 83.4375 271.898438 L 84.9375 267.898438 L 86.4375 271.898438 \" style=\"fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<path d=\"M 25.4375 439.101562 L 144.4375 439.101562 L 144.4375 458 L 25.4375 458 Z M 25.4375 439.101562 \" style=\"fill-rule:nonzero;fill:rgb(69.804382%,85.098267%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"10.7535\" xlink:href=\"#glyph1-1\" y=\"359.55\"/>\n",
       "  <use x=\"14.3625\" xlink:href=\"#glyph1-1\" y=\"359.55\"/>\n",
       "  <use x=\"17.9715\" xlink:href=\"#glyph1-2\" y=\"359.55\"/>\n",
       "  <use x=\"22.5525\" xlink:href=\"#glyph1-1\" y=\"359.55\"/>\n",
       "  <use x=\"26.1615\" xlink:href=\"#glyph1-1\" y=\"359.55\"/>\n",
       "  <use x=\"29.7705\" xlink:href=\"#glyph1-3\" y=\"359.55\"/>\n",
       "  <use x=\"32.7675\" xlink:href=\"#glyph1-4\" y=\"359.55\"/>\n",
       "  <use x=\"39.3195\" xlink:href=\"#glyph1-5\" y=\"359.55\"/>\n",
       "  <use x=\"44.5935\" xlink:href=\"#glyph1-6\" y=\"359.55\"/>\n",
       "  <use x=\"49.6245\" xlink:href=\"#glyph1-7\" y=\"359.55\"/>\n",
       "  <use x=\"53.9625\" xlink:href=\"#glyph1-3\" y=\"359.55\"/>\n",
       "  <use x=\"56.9595\" xlink:href=\"#glyph1-8\" y=\"359.55\"/>\n",
       "  <use x=\"59.9565\" xlink:href=\"#glyph1-9\" y=\"359.55\"/>\n",
       "  <use x=\"65.3565\" xlink:href=\"#glyph1-10\" y=\"359.55\"/>\n",
       "  <use x=\"70.7565\" xlink:href=\"#glyph1-11\" y=\"359.55\"/>\n",
       "  <use x=\"73.7535\" xlink:href=\"#glyph1-12\" y=\"359.55\"/>\n",
       "  <use x=\"76.1295\" xlink:href=\"#glyph1-3\" y=\"359.55\"/>\n",
       "  <use x=\"79.1265\" xlink:href=\"#glyph1-13\" y=\"359.55\"/>\n",
       "  <use x=\"83.6715\" xlink:href=\"#glyph1-14\" y=\"359.55\"/>\n",
       "  <use x=\"86.8665\" xlink:href=\"#glyph1-15\" y=\"359.55\"/>\n",
       "  <use x=\"90.1515\" xlink:href=\"#glyph1-16\" y=\"359.55\"/>\n",
       "  <use x=\"92.4555\" xlink:href=\"#glyph1-17\" y=\"359.55\"/>\n",
       "  <use x=\"97.7295\" xlink:href=\"#glyph1-18\" y=\"359.55\"/>\n",
       "  <use x=\"102.7245\" xlink:href=\"#glyph1-3\" y=\"359.55\"/>\n",
       "  <use x=\"105.7215\" xlink:href=\"#glyph1-19\" y=\"359.55\"/>\n",
       "</g>\n",
       "<path d=\"M 25.4375 407.101562 L 144.4375 407.101562 L 144.4375 426 L 25.4375 426 Z M 25.4375 407.101562 \" style=\"fill-rule:nonzero;fill:rgb(39.99939%,74.902344%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"15.069\" xlink:href=\"#glyph1-20\" y=\"327.55\"/>\n",
       "  <use x=\"20.469\" xlink:href=\"#glyph1-2\" y=\"327.55\"/>\n",
       "  <use x=\"25.05\" xlink:href=\"#glyph1-20\" y=\"327.55\"/>\n",
       "  <use x=\"30.45\" xlink:href=\"#glyph1-3\" y=\"327.55\"/>\n",
       "  <use x=\"33.447\" xlink:href=\"#glyph1-21\" y=\"327.55\"/>\n",
       "  <use x=\"41.385\" xlink:href=\"#glyph1-22\" y=\"327.55\"/>\n",
       "  <use x=\"46.416\" xlink:href=\"#glyph1-2\" y=\"327.55\"/>\n",
       "  <use x=\"50.997\" xlink:href=\"#glyph1-23\" y=\"327.55\"/>\n",
       "  <use x=\"56.775\" xlink:href=\"#glyph1-5\" y=\"327.55\"/>\n",
       "  <use x=\"62.049\" xlink:href=\"#glyph1-5\" y=\"327.55\"/>\n",
       "  <use x=\"67.323\" xlink:href=\"#glyph1-24\" y=\"327.55\"/>\n",
       "  <use x=\"69.438\" xlink:href=\"#glyph1-12\" y=\"327.55\"/>\n",
       "  <use x=\"71.814\" xlink:href=\"#glyph1-3\" y=\"327.55\"/>\n",
       "  <use x=\"74.811\" xlink:href=\"#glyph1-13\" y=\"327.55\"/>\n",
       "  <use x=\"79.356\" xlink:href=\"#glyph1-14\" y=\"327.55\"/>\n",
       "  <use x=\"82.551\" xlink:href=\"#glyph1-15\" y=\"327.55\"/>\n",
       "  <use x=\"85.836\" xlink:href=\"#glyph1-16\" y=\"327.55\"/>\n",
       "  <use x=\"88.14\" xlink:href=\"#glyph1-17\" y=\"327.55\"/>\n",
       "  <use x=\"93.414\" xlink:href=\"#glyph1-18\" y=\"327.55\"/>\n",
       "  <use x=\"98.409\" xlink:href=\"#glyph1-3\" y=\"327.55\"/>\n",
       "  <use x=\"101.406\" xlink:href=\"#glyph1-25\" y=\"327.55\"/>\n",
       "</g>\n",
       "<path d=\"M 25.4375 375.101562 L 144.4375 375.101562 L 144.4375 394 L 25.4375 394 Z M 25.4375 375.101562 \" style=\"fill-rule:nonzero;fill:rgb(69.804382%,85.098267%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"13.881\" xlink:href=\"#glyph1-26\" y=\"295.55\"/>\n",
       "  <use x=\"19.281\" xlink:href=\"#glyph1-2\" y=\"295.55\"/>\n",
       "  <use x=\"23.862\" xlink:href=\"#glyph1-26\" y=\"295.55\"/>\n",
       "  <use x=\"29.262\" xlink:href=\"#glyph1-3\" y=\"295.55\"/>\n",
       "  <use x=\"32.259\" xlink:href=\"#glyph1-4\" y=\"295.55\"/>\n",
       "  <use x=\"38.811\" xlink:href=\"#glyph1-5\" y=\"295.55\"/>\n",
       "  <use x=\"44.085\" xlink:href=\"#glyph1-6\" y=\"295.55\"/>\n",
       "  <use x=\"49.116\" xlink:href=\"#glyph1-7\" y=\"295.55\"/>\n",
       "  <use x=\"53.454\" xlink:href=\"#glyph1-3\" y=\"295.55\"/>\n",
       "  <use x=\"56.451\" xlink:href=\"#glyph1-8\" y=\"295.55\"/>\n",
       "  <use x=\"59.448\" xlink:href=\"#glyph1-25\" y=\"295.55\"/>\n",
       "  <use x=\"64.848\" xlink:href=\"#glyph1-26\" y=\"295.55\"/>\n",
       "  <use x=\"70.248\" xlink:href=\"#glyph1-10\" y=\"295.55\"/>\n",
       "  <use x=\"75.648\" xlink:href=\"#glyph1-11\" y=\"295.55\"/>\n",
       "  <use x=\"78.645\" xlink:href=\"#glyph1-12\" y=\"295.55\"/>\n",
       "  <use x=\"81.021\" xlink:href=\"#glyph1-3\" y=\"295.55\"/>\n",
       "  <use x=\"84.018\" xlink:href=\"#glyph1-27\" y=\"295.55\"/>\n",
       "  <use x=\"89.292\" xlink:href=\"#glyph1-22\" y=\"295.55\"/>\n",
       "  <use x=\"94.323\" xlink:href=\"#glyph1-17\" y=\"295.55\"/>\n",
       "  <use x=\"99.597\" xlink:href=\"#glyph1-3\" y=\"295.55\"/>\n",
       "  <use x=\"102.594\" xlink:href=\"#glyph1-25\" y=\"295.55\"/>\n",
       "</g>\n",
       "<path d=\"M 25.4375 343.101562 L 144.4375 343.101562 L 144.4375 362 L 25.4375 362 Z M 25.4375 343.101562 \" style=\"fill-rule:nonzero;fill:rgb(39.99939%,74.902344%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"15.069\" xlink:href=\"#glyph1-20\" y=\"263.55\"/>\n",
       "  <use x=\"20.469\" xlink:href=\"#glyph1-2\" y=\"263.55\"/>\n",
       "  <use x=\"25.05\" xlink:href=\"#glyph1-20\" y=\"263.55\"/>\n",
       "  <use x=\"30.45\" xlink:href=\"#glyph1-3\" y=\"263.55\"/>\n",
       "  <use x=\"33.447\" xlink:href=\"#glyph1-21\" y=\"263.55\"/>\n",
       "  <use x=\"41.385\" xlink:href=\"#glyph1-22\" y=\"263.55\"/>\n",
       "  <use x=\"46.416\" xlink:href=\"#glyph1-2\" y=\"263.55\"/>\n",
       "  <use x=\"50.997\" xlink:href=\"#glyph1-23\" y=\"263.55\"/>\n",
       "  <use x=\"56.775\" xlink:href=\"#glyph1-5\" y=\"263.55\"/>\n",
       "  <use x=\"62.049\" xlink:href=\"#glyph1-5\" y=\"263.55\"/>\n",
       "  <use x=\"67.323\" xlink:href=\"#glyph1-24\" y=\"263.55\"/>\n",
       "  <use x=\"69.438\" xlink:href=\"#glyph1-12\" y=\"263.55\"/>\n",
       "  <use x=\"71.814\" xlink:href=\"#glyph1-3\" y=\"263.55\"/>\n",
       "  <use x=\"74.811\" xlink:href=\"#glyph1-13\" y=\"263.55\"/>\n",
       "  <use x=\"79.356\" xlink:href=\"#glyph1-14\" y=\"263.55\"/>\n",
       "  <use x=\"82.551\" xlink:href=\"#glyph1-15\" y=\"263.55\"/>\n",
       "  <use x=\"85.836\" xlink:href=\"#glyph1-16\" y=\"263.55\"/>\n",
       "  <use x=\"88.14\" xlink:href=\"#glyph1-17\" y=\"263.55\"/>\n",
       "  <use x=\"93.414\" xlink:href=\"#glyph1-18\" y=\"263.55\"/>\n",
       "  <use x=\"98.409\" xlink:href=\"#glyph1-3\" y=\"263.55\"/>\n",
       "  <use x=\"101.406\" xlink:href=\"#glyph1-25\" y=\"263.55\"/>\n",
       "</g>\n",
       "<path d=\"M 25.4375 311.101562 L 144.4375 311.101562 L 144.4375 330 L 25.4375 330 Z M 25.4375 311.101562 \" style=\"fill-rule:nonzero;fill:rgb(69.804382%,85.098267%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"14.7765\" xlink:href=\"#glyph1-20\" y=\"231.55\"/>\n",
       "  <use x=\"20.1765\" xlink:href=\"#glyph1-2\" y=\"231.55\"/>\n",
       "  <use x=\"24.7575\" xlink:href=\"#glyph1-20\" y=\"231.55\"/>\n",
       "  <use x=\"30.1575\" xlink:href=\"#glyph1-3\" y=\"231.55\"/>\n",
       "  <use x=\"33.1545\" xlink:href=\"#glyph1-4\" y=\"231.55\"/>\n",
       "  <use x=\"39.7065\" xlink:href=\"#glyph1-5\" y=\"231.55\"/>\n",
       "  <use x=\"44.9805\" xlink:href=\"#glyph1-6\" y=\"231.55\"/>\n",
       "  <use x=\"50.0115\" xlink:href=\"#glyph1-7\" y=\"231.55\"/>\n",
       "  <use x=\"54.3495\" xlink:href=\"#glyph1-3\" y=\"231.55\"/>\n",
       "  <use x=\"57.3465\" xlink:href=\"#glyph1-8\" y=\"231.55\"/>\n",
       "  <use x=\"60.3435\" xlink:href=\"#glyph1-20\" y=\"231.55\"/>\n",
       "  <use x=\"65.7435\" xlink:href=\"#glyph1-28\" y=\"231.55\"/>\n",
       "  <use x=\"71.1435\" xlink:href=\"#glyph1-19\" y=\"231.55\"/>\n",
       "  <use x=\"76.5435\" xlink:href=\"#glyph1-11\" y=\"231.55\"/>\n",
       "  <use x=\"79.5405\" xlink:href=\"#glyph1-12\" y=\"231.55\"/>\n",
       "  <use x=\"81.9165\" xlink:href=\"#glyph1-3\" y=\"231.55\"/>\n",
       "  <use x=\"84.9135\" xlink:href=\"#glyph1-27\" y=\"231.55\"/>\n",
       "  <use x=\"90.1875\" xlink:href=\"#glyph1-22\" y=\"231.55\"/>\n",
       "  <use x=\"95.2185\" xlink:href=\"#glyph1-17\" y=\"231.55\"/>\n",
       "  <use x=\"100.4925\" xlink:href=\"#glyph1-3\" y=\"231.55\"/>\n",
       "  <use x=\"103.4895\" xlink:href=\"#glyph1-1\" y=\"231.55\"/>\n",
       "</g>\n",
       "<path d=\"M 25.4375 279.101562 L 144.4375 279.101562 L 144.4375 298 L 25.4375 298 Z M 25.4375 279.101562 \" style=\"fill-rule:nonzero;fill:rgb(69.804382%,85.098267%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"14.7765\" xlink:href=\"#glyph1-20\" y=\"199.55\"/>\n",
       "  <use x=\"20.1765\" xlink:href=\"#glyph1-2\" y=\"199.55\"/>\n",
       "  <use x=\"24.7575\" xlink:href=\"#glyph1-20\" y=\"199.55\"/>\n",
       "  <use x=\"30.1575\" xlink:href=\"#glyph1-3\" y=\"199.55\"/>\n",
       "  <use x=\"33.1545\" xlink:href=\"#glyph1-4\" y=\"199.55\"/>\n",
       "  <use x=\"39.7065\" xlink:href=\"#glyph1-5\" y=\"199.55\"/>\n",
       "  <use x=\"44.9805\" xlink:href=\"#glyph1-6\" y=\"199.55\"/>\n",
       "  <use x=\"50.0115\" xlink:href=\"#glyph1-7\" y=\"199.55\"/>\n",
       "  <use x=\"54.3495\" xlink:href=\"#glyph1-3\" y=\"199.55\"/>\n",
       "  <use x=\"57.3465\" xlink:href=\"#glyph1-8\" y=\"199.55\"/>\n",
       "  <use x=\"60.3435\" xlink:href=\"#glyph1-20\" y=\"199.55\"/>\n",
       "  <use x=\"65.7435\" xlink:href=\"#glyph1-28\" y=\"199.55\"/>\n",
       "  <use x=\"71.1435\" xlink:href=\"#glyph1-19\" y=\"199.55\"/>\n",
       "  <use x=\"76.5435\" xlink:href=\"#glyph1-11\" y=\"199.55\"/>\n",
       "  <use x=\"79.5405\" xlink:href=\"#glyph1-12\" y=\"199.55\"/>\n",
       "  <use x=\"81.9165\" xlink:href=\"#glyph1-3\" y=\"199.55\"/>\n",
       "  <use x=\"84.9135\" xlink:href=\"#glyph1-27\" y=\"199.55\"/>\n",
       "  <use x=\"90.1875\" xlink:href=\"#glyph1-22\" y=\"199.55\"/>\n",
       "  <use x=\"95.2185\" xlink:href=\"#glyph1-17\" y=\"199.55\"/>\n",
       "  <use x=\"100.4925\" xlink:href=\"#glyph1-3\" y=\"199.55\"/>\n",
       "  <use x=\"103.4895\" xlink:href=\"#glyph1-1\" y=\"199.55\"/>\n",
       "</g>\n",
       "<path d=\"M 25.4375 247.101562 L 144.4375 247.101562 L 144.4375 266 L 25.4375 266 Z M 25.4375 247.101562 \" style=\"fill-rule:nonzero;fill:rgb(69.804382%,85.098267%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"14.7765\" xlink:href=\"#glyph1-20\" y=\"167.55\"/>\n",
       "  <use x=\"20.1765\" xlink:href=\"#glyph1-2\" y=\"167.55\"/>\n",
       "  <use x=\"24.7575\" xlink:href=\"#glyph1-20\" y=\"167.55\"/>\n",
       "  <use x=\"30.1575\" xlink:href=\"#glyph1-3\" y=\"167.55\"/>\n",
       "  <use x=\"33.1545\" xlink:href=\"#glyph1-4\" y=\"167.55\"/>\n",
       "  <use x=\"39.7065\" xlink:href=\"#glyph1-5\" y=\"167.55\"/>\n",
       "  <use x=\"44.9805\" xlink:href=\"#glyph1-6\" y=\"167.55\"/>\n",
       "  <use x=\"50.0115\" xlink:href=\"#glyph1-7\" y=\"167.55\"/>\n",
       "  <use x=\"54.3495\" xlink:href=\"#glyph1-3\" y=\"167.55\"/>\n",
       "  <use x=\"57.3465\" xlink:href=\"#glyph1-8\" y=\"167.55\"/>\n",
       "  <use x=\"60.3435\" xlink:href=\"#glyph1-20\" y=\"167.55\"/>\n",
       "  <use x=\"65.7435\" xlink:href=\"#glyph1-28\" y=\"167.55\"/>\n",
       "  <use x=\"71.1435\" xlink:href=\"#glyph1-19\" y=\"167.55\"/>\n",
       "  <use x=\"76.5435\" xlink:href=\"#glyph1-11\" y=\"167.55\"/>\n",
       "  <use x=\"79.5405\" xlink:href=\"#glyph1-12\" y=\"167.55\"/>\n",
       "  <use x=\"81.9165\" xlink:href=\"#glyph1-3\" y=\"167.55\"/>\n",
       "  <use x=\"84.9135\" xlink:href=\"#glyph1-27\" y=\"167.55\"/>\n",
       "  <use x=\"90.1875\" xlink:href=\"#glyph1-22\" y=\"167.55\"/>\n",
       "  <use x=\"95.2185\" xlink:href=\"#glyph1-17\" y=\"167.55\"/>\n",
       "  <use x=\"100.4925\" xlink:href=\"#glyph1-3\" y=\"167.55\"/>\n",
       "  <use x=\"103.4895\" xlink:href=\"#glyph1-1\" y=\"167.55\"/>\n",
       "</g>\n",
       "<path d=\"M 84.9375 343.101562 L 84.9375 335.898438 \" style=\"fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<path d=\"M 84.9375 331.898438 L 84.9375 335.898438 M 83.4375 335.898438 L 84.9375 331.898438 L 86.4375 335.898438 \" style=\"fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<path d=\"M 84.9375 375.101562 L 84.9375 367.898438 \" style=\"fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<path d=\"M 84.9375 363.898438 L 84.9375 367.898438 M 83.4375 367.898438 L 84.9375 363.898438 L 86.4375 367.898438 \" style=\"fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<path d=\"M 84.9375 311.101562 L 84.9375 303.898438 \" style=\"fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<path d=\"M 84.9375 299.898438 L 84.9375 303.898438 M 83.4375 303.898438 L 84.9375 299.898438 L 86.4375 303.898438 \" style=\"fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<path d=\"M 84.9375 407.101562 L 84.9375 399.898438 \" style=\"fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<path d=\"M 84.9375 395.898438 L 84.9375 399.898438 M 83.4375 399.898438 L 84.9375 395.898438 L 86.4375 399.898438 \" style=\"fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<path d=\"M 84.9375 439.101562 L 84.9375 431.898438 \" style=\"fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<path d=\"M 84.9375 427.898438 L 84.9375 431.898438 M 83.4375 431.898438 L 84.9375 427.898438 L 86.4375 431.898438 \" style=\"fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<path d=\"M 25.4375 215.101562 L 144.4375 215.101562 L 144.4375 234 L 25.4375 234 Z M 25.4375 215.101562 \" style=\"fill-rule:nonzero;fill:rgb(39.99939%,74.902344%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"15.069\" xlink:href=\"#glyph1-20\" y=\"135.55\"/>\n",
       "  <use x=\"20.469\" xlink:href=\"#glyph1-2\" y=\"135.55\"/>\n",
       "  <use x=\"25.05\" xlink:href=\"#glyph1-20\" y=\"135.55\"/>\n",
       "  <use x=\"30.45\" xlink:href=\"#glyph1-3\" y=\"135.55\"/>\n",
       "  <use x=\"33.447\" xlink:href=\"#glyph1-21\" y=\"135.55\"/>\n",
       "  <use x=\"41.385\" xlink:href=\"#glyph1-22\" y=\"135.55\"/>\n",
       "  <use x=\"46.416\" xlink:href=\"#glyph1-2\" y=\"135.55\"/>\n",
       "  <use x=\"50.997\" xlink:href=\"#glyph1-23\" y=\"135.55\"/>\n",
       "  <use x=\"56.775\" xlink:href=\"#glyph1-5\" y=\"135.55\"/>\n",
       "  <use x=\"62.049\" xlink:href=\"#glyph1-5\" y=\"135.55\"/>\n",
       "  <use x=\"67.323\" xlink:href=\"#glyph1-24\" y=\"135.55\"/>\n",
       "  <use x=\"69.438\" xlink:href=\"#glyph1-12\" y=\"135.55\"/>\n",
       "  <use x=\"71.814\" xlink:href=\"#glyph1-3\" y=\"135.55\"/>\n",
       "  <use x=\"74.811\" xlink:href=\"#glyph1-13\" y=\"135.55\"/>\n",
       "  <use x=\"79.356\" xlink:href=\"#glyph1-14\" y=\"135.55\"/>\n",
       "  <use x=\"82.551\" xlink:href=\"#glyph1-15\" y=\"135.55\"/>\n",
       "  <use x=\"85.836\" xlink:href=\"#glyph1-16\" y=\"135.55\"/>\n",
       "  <use x=\"88.14\" xlink:href=\"#glyph1-17\" y=\"135.55\"/>\n",
       "  <use x=\"93.414\" xlink:href=\"#glyph1-18\" y=\"135.55\"/>\n",
       "  <use x=\"98.409\" xlink:href=\"#glyph1-3\" y=\"135.55\"/>\n",
       "  <use x=\"101.406\" xlink:href=\"#glyph1-25\" y=\"135.55\"/>\n",
       "</g>\n",
       "<path d=\"M 84.9375 150.550781 L 84.9375 143.351562 \" style=\"fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<path d=\"M 84.9375 139.351562 L 84.9375 143.351562 M 83.4375 143.351562 L 84.9375 139.351562 L 86.4375 143.351562 \" style=\"fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<path d=\"M 25.4375 182.550781 L 144.4375 182.550781 L 144.4375 201.449219 L 25.4375 201.449219 Z M 25.4375 182.550781 \" style=\"fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"32.682\" xlink:href=\"#glyph1-29\" y=\"103\"/>\n",
       "  <use x=\"39.036\" xlink:href=\"#glyph1-18\" y=\"103\"/>\n",
       "  <use x=\"44.031\" xlink:href=\"#glyph1-6\" y=\"103\"/>\n",
       "  <use x=\"49.062\" xlink:href=\"#glyph1-13\" y=\"103\"/>\n",
       "  <use x=\"53.607\" xlink:href=\"#glyph1-18\" y=\"103\"/>\n",
       "  <use x=\"58.602\" xlink:href=\"#glyph1-3\" y=\"103\"/>\n",
       "  <use x=\"61.599\" xlink:href=\"#glyph1-8\" y=\"103\"/>\n",
       "  <use x=\"64.596\" xlink:href=\"#glyph1-19\" y=\"103\"/>\n",
       "  <use x=\"69.996\" xlink:href=\"#glyph1-30\" y=\"103\"/>\n",
       "  <use x=\"75.396\" xlink:href=\"#glyph1-9\" y=\"103\"/>\n",
       "  <use x=\"80.796\" xlink:href=\"#glyph1-10\" y=\"103\"/>\n",
       "  <use x=\"86.196\" xlink:href=\"#glyph1-11\" y=\"103\"/>\n",
       "</g>\n",
       "<path d=\"M 25.4375 150.550781 L 144.4375 150.550781 L 144.4375 169.449219 L 25.4375 169.449219 Z M 25.4375 150.550781 \" style=\"fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"32.682\" xlink:href=\"#glyph1-29\" y=\"71\"/>\n",
       "  <use x=\"39.036\" xlink:href=\"#glyph1-18\" y=\"71\"/>\n",
       "  <use x=\"44.031\" xlink:href=\"#glyph1-6\" y=\"71\"/>\n",
       "  <use x=\"49.062\" xlink:href=\"#glyph1-13\" y=\"71\"/>\n",
       "  <use x=\"53.607\" xlink:href=\"#glyph1-18\" y=\"71\"/>\n",
       "  <use x=\"58.602\" xlink:href=\"#glyph1-3\" y=\"71\"/>\n",
       "  <use x=\"61.599\" xlink:href=\"#glyph1-8\" y=\"71\"/>\n",
       "  <use x=\"64.596\" xlink:href=\"#glyph1-19\" y=\"71\"/>\n",
       "  <use x=\"69.996\" xlink:href=\"#glyph1-30\" y=\"71\"/>\n",
       "  <use x=\"75.396\" xlink:href=\"#glyph1-9\" y=\"71\"/>\n",
       "  <use x=\"80.796\" xlink:href=\"#glyph1-10\" y=\"71\"/>\n",
       "  <use x=\"86.196\" xlink:href=\"#glyph1-11\" y=\"71\"/>\n",
       "</g>\n",
       "<path d=\"M 25.4375 118.550781 L 144.4375 118.550781 L 144.4375 137.449219 L 25.4375 137.449219 Z M 25.4375 118.550781 \" style=\"fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<g style=\"fill:rgb(0%,0%,0%);fill-opacity:1;\">\n",
       "  <use x=\"33.5775\" xlink:href=\"#glyph1-29\" y=\"39\"/>\n",
       "  <use x=\"39.9315\" xlink:href=\"#glyph1-18\" y=\"39\"/>\n",
       "  <use x=\"44.9265\" xlink:href=\"#glyph1-6\" y=\"39\"/>\n",
       "  <use x=\"49.9575\" xlink:href=\"#glyph1-13\" y=\"39\"/>\n",
       "  <use x=\"54.5025\" xlink:href=\"#glyph1-18\" y=\"39\"/>\n",
       "  <use x=\"59.4975\" xlink:href=\"#glyph1-3\" y=\"39\"/>\n",
       "  <use x=\"62.4945\" xlink:href=\"#glyph1-8\" y=\"39\"/>\n",
       "  <use x=\"65.4915\" xlink:href=\"#glyph1-1\" y=\"39\"/>\n",
       "  <use x=\"69.1005\" xlink:href=\"#glyph1-30\" y=\"39\"/>\n",
       "  <use x=\"74.5005\" xlink:href=\"#glyph1-30\" y=\"39\"/>\n",
       "  <use x=\"79.9005\" xlink:href=\"#glyph1-30\" y=\"39\"/>\n",
       "  <use x=\"85.3005\" xlink:href=\"#glyph1-11\" y=\"39\"/>\n",
       "</g>\n",
       "<path d=\"M 84.9375 182.550781 L 84.9375 175.351562 \" style=\"fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<path d=\"M 84.9375 171.351562 L 84.9375 175.351562 M 83.4375 175.351562 L 84.9375 171.351562 L 86.4375 175.351562 \" style=\"fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<path d=\"M 84.9375 215.101562 L 84.9375 207.351562 \" style=\"fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<path d=\"M 84.9375 203.351562 L 84.9375 207.351562 M 83.4375 207.351562 L 84.9375 203.351562 L 86.4375 207.351562 \" style=\"fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<path d=\"M 84.9375 247.101562 L 84.9375 239.898438 \" style=\"fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "<path d=\"M 84.9375 235.898438 L 84.9375 239.898438 M 83.4375 239.898438 L 84.9375 235.898438 L 86.4375 239.898438 \" style=\"fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,1,-24,-92)\"/>\n",
       "</g>\n",
       "</svg>"
      ],
      "text/plain": [
       "<IPython.core.display.SVG object>"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from IPython.display import SVG\n",
    "SVG(filename=\"../img/vgg.svg\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Designing a network from building blocks"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The original VGG network had 5 convolutional blocks,\n",
    "among which the first two have one convolutional layer each\n",
    "and the latter three contain two convolutional layers each.\n",
    "The first block has 64 output channels\n",
    "and each subsequent block doubles the number of output channels,\n",
    "until that number reaches $512$.\n",
    "Since this network uses $8$ convolutional layers\n",
    "and $3$ fully-connected layers, it is often called VGG-11."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "conv_arch = ((1, 64), (1, 128), (2, 256), (2, 512), (2, 512))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The following code implements VGG-11. This is a simple matter of executing a for loop over `conv_arch`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "class Flatten(torch.nn.Module):\n",
    "    def forward(self, x):\n",
    "        return x.view(x.shape[0], -1)\n",
    "    \n",
    "def vgg(conv_arch):\n",
    "    # The convulational layer part\n",
    "    conv_layers=[]\n",
    "    in_channels=1\n",
    "    \n",
    "    for (num_convs, out_channels) in conv_arch:\n",
    "        conv_layers.append(vgg_block(num_convs, in_channels, out_channels))\n",
    "        in_channels = out_channels\n",
    "    \n",
    "    net=nn.Sequential(\n",
    "                      *conv_layers,\n",
    "                      # The fully connected layer part\n",
    "                      Flatten(),\n",
    "                      nn.Linear(in_features=512*7*7, out_features=4096),\n",
    "                      nn.ReLU(),\n",
    "                      nn.Dropout(0.5),\n",
    "                      nn.Linear(4096, 4096),\n",
    "                      nn.ReLU(),\n",
    "                      nn.Dropout(0.5),\n",
    "                      nn.Linear(4096, 10)\n",
    "                     )\n",
    "    return net\n",
    "\n",
    "net = vgg(conv_arch)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Next, we will construct a single-channel data example\n",
    "with a height and width of 224 to observe the output shape of each layer."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Sequential output shape:\t torch.Size([1, 64, 112, 112])\n",
      "Sequential output shape:\t torch.Size([1, 128, 56, 56])\n",
      "Sequential output shape:\t torch.Size([1, 256, 28, 28])\n",
      "Sequential output shape:\t torch.Size([1, 512, 14, 14])\n",
      "Sequential output shape:\t torch.Size([1, 512, 7, 7])\n",
      "Flatten output shape:\t torch.Size([1, 25088])\n",
      "Linear output shape:\t torch.Size([1, 4096])\n",
      "ReLU output shape:\t torch.Size([1, 4096])\n",
      "Dropout output shape:\t torch.Size([1, 4096])\n",
      "Linear output shape:\t torch.Size([1, 4096])\n",
      "ReLU output shape:\t torch.Size([1, 4096])\n",
      "Dropout output shape:\t torch.Size([1, 4096])\n",
      "Linear output shape:\t torch.Size([1, 10])\n"
     ]
    }
   ],
   "source": [
    "X = torch.randn(size=(1,1,224,224), dtype=torch.float32)\n",
    "for blk in net:\n",
    "    X = blk(X)\n",
    "    print(blk.__class__.__name__,'output shape:\\t',X.shape)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "As you can see, we halve height and width at each block,\n",
    "finally reaching a height and width of 7\n",
    "before flattening the representations\n",
    "for processing by the fully-connected layer.\n",
    "\n",
    "## Model Training\n",
    "\n",
    "Apart from using a slightly larger learning rate,\n",
    "the model training process is similar to that of AlexNet in the last section."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "training on cuda:0\n",
      "epoch 1, loss 0.0114, train acc 0.731, test acc 0.861, time 266.5 sec\n",
      "epoch 2, loss 0.0052, train acc 0.877, test acc 0.887, time 276.4 sec\n",
      "epoch 3, loss 0.0043, train acc 0.900, test acc 0.898, time 277.6 sec\n",
      "epoch 4, loss 0.0037, train acc 0.912, test acc 0.909, time 276.8 sec\n"
     ]
    }
   ],
   "source": [
    "lr, num_epochs, batch_size, device = 0.05, 5, 64, d2l.try_gpu()\n",
    "def init_weights(m):\n",
    "    if type(m) == nn.Linear or type(m) == nn.Conv2d:\n",
    "        torch.nn.init.xavier_uniform_(m.weight)\n",
    "\n",
    "net.apply(init_weights)\n",
    "net = net.to(device)\n",
    "\n",
    "train_iter, test_iter = d2l.load_data_fashion_mnist(batch_size, resize=224)\n",
    "criterion = nn.CrossEntropyLoss()\n",
    "d2l.train_ch5(net, train_iter, test_iter, criterion, num_epochs, batch_size, device, lr)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Summary\n",
    "\n",
    "* VGG-11 constructs a network using reusable convolutional blocks. Different VGG models can be defined by the differences in the number of convolutional layers and output channels in each block.\n",
    "* The use of blocks leads to very compact representations of the network definition. It allows for efficient design of complex networks.\n",
    "* In their work Simonyan and Ziserman experimented with various architectures. In particular, they found that several layers of deep and narrow convolutions (i.e. $3 \\times 3$) were more effective than fewer layers of wider convolutions.\n",
    "\n",
    "## Exercises\n",
    "\n",
    "1. Compared with AlexNet, VGG is much slower in terms of computation, and it also needs more GPU memory. Try to analyze the reasons for this.\n",
    "1. Try to change the height and width of the images in Fashion-MNIST from 224 to 96. What influence does this have on the experiments?\n",
    "1. Refer to Table 1 in :cite:`Simonyan.Zisserman.2014` to construct other common models, such as VGG-16 or VGG-19."
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
